Table of contents : Cover Half Title Series Page Title Page Copyright Page Contents List of Figures Preface Acknowledgments Chapter 1: Introduction Chapter 2: Sensors 2.1. ANALOG SENSORS 2.1.1. Resistance-based sensors 2.1.2. Voltage-based sensors 2.1.3. Current-based sensors 2.2. SIGNAL CONDITIONING 2.2.1. Voltage divider 2.2.2. Amplifiers 2.2.3. Filters 2.2.4. Analog-to-digital conversion 2.2.5. Supply voltage 2.3. DIGITAL SENSORS 2.3.1. Buttons and switches 2.3.2. On/off devices 2.3.3. I2C devices 2.3.4. SPI devices 2.3.5. RS-232 devices 2.3.6. Other sensors Chapter 3: Actuators 3.1. SWITCHES 3.1.1. Light-emitting diodes and optocouplers 3.1.2. Large currents 3.2. MOTORS 3.2.1. DC motors 3.2.2. Servomotors and model-servos 3.2.3. Stepper motors 3.3. ANALOG VOLTAGES 3.4. PERIODIC SIGNALS 3.5. OTHER ACTUATORS Chapter 4: Microcontroller: Arduino 4.1. HARDWARE 4.1.1. Arduino UNO 4.1.2. ESP8266, NodeMCU, and ESP32 4.2. GETTING STARTED 4.3. HELLO WORLD, BLINK 4.4. INTERFACING SENSORS 4.4.1. Button 4.4.2. Analog input 4.4.3. I2C 4.4.4. SPI 4.4.5. Other protocols 4.5. INTERFACING ACTUATORS 4.5.1. Switching devices 4.5.2. DC motors 4.5.3. Servos 4.5.4. Stepper motors 4.5.5. Analog voltages 4.5.6. Periodic signals 4.5.7. Human attention actuators 4.6. COMMUNICATION TO HOST 4.6.1. RS-232 and USB 4.6.2. Bluetooth 4.6.3. WiFi 4.6.4. Other communication Chapter 5: Host Computer: Raspberry Pi 5.1. HARDWARE 5.2. GETTING STARTED 5.3. INSTALLING AND USING NEW SOFTWARE 5.4. RASPI AS A ROUTER 5.5. COMMUNICATION WITH THE ARDUINO 5.5.1. Arduino IDE 5.5.2. From the command line 5.5.3. Python 5.5.4. Octave 5.6. DATA STORAGE 5.6.1. Flatfile 5.6.2. MariaDB 5.6.3. RRDtool 5.7. ONLINE PRESENTATION Chapter 6: Control System: EPICS 6.1. INSTALLATION 6.2. COMMUNICATING WITH EPICS 6.3. ASYN AND STREAM LIBRARIES 6.4. WRITING AN IOC 6.5. STARTING THE IOC AT BOOT TIME Chapter 7: Messaging System: MQTT 7.1. BROKER 7.2. NODEMCU CLIENTS 7.3. GATEWAY TO EPICS Chapter 8: Websockets 8.1. ON THE NODEMCU 8.2. IN THE BROWSER Chapter 9: Example: Weather Station with Distributed Sensors Chapter 10: Example: Geophones Chapter 11: Example: Monitor for the Color of Water Chapter 12: Example: Impedance Measurements Chapter 13: Example: Data Acquisition System Chapter 14: Example: Fast Acquisition Chapter 15: Example: Medical Sensing Chapter 16: Example: Profile of a Laser Beam Chapter 17: Example: Fire-Seeking Robot Chapter 18: Presenting and Writing 18.1. PREPARING A PRESENTATION 18.2. PREPARING A REPORT 18.3. PRESENTING DATA 18.4. GOOD ENGLISH 18.5. POSTSCRIPTUM Appendix A: Basic Circuit Theory Appendix B: Least-Squares Fit Appendix C: Where to Go from Here? Bibliography Index