For Raspberry Pi, ESP32 and nRF52 with Python, Arduino and Zephyr
Bluetooth Low Energy (BLE) radio chips are ubiquitous from Raspberry Pi to light bulbs. BLE is an elaborate technology with a comprehensive specification, but the basics are quite accessible.
A progressive and systematic approach will lead you far in mastering this wireless communication technique, which is essential for working in low power scenarios.
In this book, you’ll learn how to:
Discover BLE devices in the neighborhood by listening to their advertisements.
Create your own BLE devices advertising data.
Connect to BLE devices such as heart rate monitors and proximity reporters.
Create secure connections to BLE devices with encryption and authentication.
Understand BLE service and profile specifications and implement them.
Reverse engineer a BLE device with a proprietary implementation and control it with your own software.
Make your BLE devices use as little power as possible.
This book shows you the ropes of BLE programming with Python and the Bleak library on a Raspberry Pi or PC, with C++ and NimBLE-Arduino on Espressif’s ESP32 development boards, and with C on one of the development boards supported by the Zephyr real-time operating system, such as Nordic Semiconductor's nRF52 boards.
Starting with a very little amount of theory, you’ll develop code right from the beginning. After you’ve completed this book, you’ll know enough to create your own BLE applications.
Pfiffige Lösungen mit Arduino Pro Mini und ATmega328-Boards
Mit einem einfachen Arduino Pro Mini Board und ein paar weiteren Bauteilen lassen sich heute für wenig Geld Projekte realisieren, die vor 20 oder 30 Jahren noch unentbehrlich waren oder ein kleines Vermögen gekostet hätten. Von einfachen LED-Effekten bis zur Ladestation – die den Akku auf Herz und Nieren prüft – ist in diesem Buch vieles dabei.
Als Mikrocontroller dient bei allen beschriebenen Projekten der ATmega328, der mit seinen 20 Ein- und Ausgangsleitungen unzählige Möglichkeiten zum Messen, Schalten und Steuern bietet. Mit einem 7-Segment-Display und ein paar Widerständen lässt sich daraus z. B. ein Voltmeter bauen oder mittels NTC ein Thermometer. Die Arduino-Plattform bietet dabei die perfekte Entwicklungsumgebung zum Programmieren der Boards.
Neben den ganz konkreten Projekten soll das Buch aber auch das nötige Wissen vermitteln, um eigene Ideen zu verwirklichen. Wie misst man was? Welcher Transistor ist geeignet, um verschiedene Verbraucher einzuschalten? Wann ist man mit einem IC besser bedient, oder wie schaltet man die Netzspannung? Auch batteriebetriebene Projekte mit LilyPad sind ausführlich thematisiert. Ebenso elektrische Motoren, vom einfachen Gleichstrommotor bis zum Schrittmotor.
Sensoren sind ein weiteres spannendes Thema. Nur zwei Beispiele: Mit einem winzigen Bauteil lässt sich tatsächlich feststellen, dass der Luftdruck am Fußboden höher ist als auf Tischhöhe. Mit einem einfachen Infrarot-Empfänger kann man mit der Fernbedienung ein zweites Leben schenken und die Wohnung damit steuern.
A Handbook on DIY
Nowadays, security problems are rarely properly solved or correctly addressed. Electronic security is only part of the chain in making a system secure. Electronic security is usually addressed as network or software security, neglecting other aspects, but the chain is only as strong as its weakest link.
This book is about electronic hardware security, with an emphasis on problems that you can solve on a shoestring DIY budget. It deals mostly with secure communications, cryptosystems, and espionage. You will quickly appreciate that you can’t simply buy a trustworthy and reliable cryptosystem off the shelf. You will then realise that this applies equally to individuals, corporations, and governments.
If you want to increase your electronic security awareness in a world already overcrowded with networks of microphones and cameras, this is a book for you. Furthermore, if you want to do something DIY by designing and expanding upon simple electronic systems, please continue reading. Some of the devices described are already published as projects in the Elektor magazine. Some are still ideas yet to be worked out.
Complexity is the main enemy of security, so we'll try to keep to simple systems. Every chapter will analyse real-life espionage events or at least several hypothetical scenarios that will hopefully spark your imagination. The final goal is to build a security-conscious mindset (or “to get into a head of a spy”) which is necessary to recognise possible threats beforehand, to design a truly secure system.
Don’t bother reading if:
you think you and your secrets are 100% safe and secure
you think somebody else can effectively handle your security
you think conspiracy theories only exist in theory – Telefunken’s masterpiece the “FS-5000 Harpoon” was built on one!
Technology is constantly changing. New microcontrollers become available every year. The one thing that has stayed the same is the C programming language used to program these microcontrollers. If you would like to learn this standard language to program microcontrollers, then this book is for you!
Arduino is the hardware platform used to teach the C programming language as Arduino boards are available worldwide and contain the popular AVR microcontrollers from Atmel.
Atmel Studio is used as the development environment for writing C programs for AVR microcontrollers. It is a full-featured integrated development environment (IDE) that uses the GCC C software tools for AVR microcontrollers and is free to download.
At a glance:
Start learning to program from the very first chapter
No programming experience is necessary
Learn by doing – type and run the example programs
A fun way to learn the C programming language
Ideal for electronic hobbyists, students and engineers wanting to learn the C programming language in an embedded environment on AVR microcontrollers
Use the free full-featured Atmel Studio IDE software for Windows
Write C programs for 8-bit AVR microcontrollers as found on the Arduino Uno and MEGA boards
Example code runs on Arduino Uno and Arduino MEGA 2560 boards and can be adapted to run on other AVR microcontrollers or boards
Use the AVR Dragon programmer/debugger in conjunction with Atmel Studio to debug C programs
Die Programmiersprache „Python“ hat in den letzten Jahren einen enormen Aufschwung erlebt. Nicht zuletzt haben verschiedene Einplatinensysteme wie der Raspberry Pi zu deren Bekanntheitsgrad beigetragen. Aber auch in anderen Gebieten, wie der Künstlichen Intelligenz oder dem Machine Learning, hat Python weite Verbreitung gefunden. Es ist daher naheliegend, Python bzw. die Variante „MicroPython“ auch für den Einsatz in SoCs (Systems on Chip) zu verwenden.
Leistungsfähige Controller wie der ESP32 der Firma Espressif Systems bieten eine hervorragende Performance sowie Wi-Fi- und Bluetooth-Funktionalität zu einem günstigen Preis. Mit diesen Eigenschaften wurde die Maker-Szene im Sturm erobert. Im Vergleich zu anderen Controllern weist der ESP32 einen deutlich größeren Flash und SRAM-Speicher, sowie eine wesentlich höhere CPU-Geschwindigkeit auf. Aufgrund dieser Leistungsmerkmale eignet sich der Chip nicht nur für klassische C-Anwendungen, sondern insbesondere auch für die Programmierung mit MicroPython.
Das vorliegende Buch führt in die Anwendung der modernen Ein-Chip-Systeme ein. Neben den technischen Hintergründen steht vor allem MicroPython selbst im Vordergrund. Nach der Einführung in die Sprache werden die erlernten Programmierkenntnisse umgehend in die Praxis umgesetzt. Die einzelnen Projekte sind sowohl für den Einsatz im Labor als auch für Alltagsanwendungen geeignet. Neben dem eigentlichen Lerneffekt steht also auch die Freude am Aufbau kompletter und nützlicher Geräte im Vordergrund. Durch die Verwendung von Laborsteckboards können Schaltungen aller Art mit geringem Aufwand realisiert werden, sodass das Austesten der selbstgebauten Geräte zum lehrreichen Vergnügen wird.
Durch die verschiedenen Anwendungen wie Wetterstationen, Digitalvoltmeter, Ultraschall-Entfernungsmesser, RFID-Kartenleser oder Funktionsgeneratoren sind die vorgestellten Projekte auch für Praktika oder Fach- und Studienarbeiten in den Naturwissenschaften bzw. im Natur- und Technikunterricht bestens geeignet.
Develop your own custom home automation devices
Espressif's ESP8266 and ESP32 microcontrollers have brought DIY home automation to the masses. However, not everyone is fluent in programming these microcontrollers with Espressif's C/C++ SDK, the Arduino core, or MicroPython. This is where ESPHome comes into its own: with this project, you don’t program your microcontroller but configure it.
This book demonstrates how to create your own home automation devices with ESPHome on an ESP32 microcontroller board. You’ll learn how to combine all kinds of electronic components and automate complex behaviours. Your devices can work completely autonomously, and connect over Wi-Fi to your home automation gateways such as Home Assistant or MQTT broker.
By the end of this book, you will be able to create your own custom home automation devices the way you want. Thanks to ESPHome and the ESP32, this is within everyone’s grasp.
Set up an ESPHome development environment and create maintainable configurations
Use buttons and LEDs
Sound a buzzer and play melodies
Read measurements from various types of sensors
Communicate over a short distance with NFC, infrared light, and Bluetooth Low Energy
Show information on various types of displays
Downloads
Software
Mehr als 50 Grundlagenprojekte mit MicroPython und dem RP2040-Mikrocontroller
Der Raspberry Pi Pico ist eine leistungsstarke Mikrocontroller-Platine, die speziell für das Physical Computing – also hardwarenahe Anwendungen – entwickelt wurde. Der Raspberry Pi Pico kann so programmiert werden, dass er eine einzelne Aufgabe sehr effizient ausführt und ermöglicht so schnelle Steuerungs- und Überwachungsanwendungen in Echtzeit. Der 'Pico', wie wir ihn nennen, basiert auf dem schnellen, effizienten und kostengünstigen Dual-Core ARM Cortex-M0+ RP2040 Mikrocontroller-Chip, der mit bis zu 133 MHz läuft und über 264 KB SRAM und 2 MB Flash-Speicher verfügt. Neben dem großen Speicher hat der Pico noch weitere attraktive Eigenschaften, darunter eine große Anzahl von GPIO-Pins sowie gängige Schnittstellen wie ADC, SPI, I²C, UART und PWM. Als Krönung bietet der Chip schnelle und genaue Timer, eine Hardware-Debug-Schnittstelle und einen internen Temperatursensor.
Zur Programmierung lassen sich leicht die gängigen Hochsprachen wie MicroPython oder C/C++ verwenden. Dieses Buch ist eine Einführung in die Verwendung des Pico mit der Programmiersprache MicroPython. In allen Projekten wird die Thonny-Entwicklungsumgebung (IDE) eingesetzt. Über 50 Projekte decken folgende Themen ab:
Installation von MicroPython auf dem Raspberry Pi Pico
Timer-Interrupts und externe Interrupts
Projekte mit Analog-Digital-Wandler (ADC)
Verwendung des internen sowie externer Temperatursensoren
Datenlogger
Projekte zur PWM, UART, I²C-Bus und SPI-Bus
Wi-Fi und Bluetooth für die Kommunikation mit Smartphones
Projekte mit dem Digital-Analog-Wandler (DAC)
Alle in diesem Buch vorgestellten Projekte wurden vollständig getestet und sind funktionsfähig. Es werden keine Programmier- oder Elektronikkenntnisse vorausgesetzt, um sie nachzuvollziehen. Für alle beschriebenen Projekte gibt es kurze Beschreibungen, Blockdiagramme, detaillierte Schaltpläne und vollständige MicroPython-Programmlistings. Die Listings sind auch auf der zum Buch gehörenden Elektor-Webseite zu finden.
TINA Design Suite is a professional, powerful and affordable circuit simulator. It is a circuit designer and PCB design software package for analysing, designing, and real-time testing of analogue, digital, IBIS, VHDL, Verilog, Verilog AMS, SystemC, MCU, and mixed electronic circuits and their PCB layouts.
In this book, top-selling Elektor author, Prof. Dr. Dogan Ibrahim aims to teach the design and analysis of electrical and electronic circuits and develop PCB boards using both TINA and TINACloud. The book is aimed at electrical/electronic engineers, undergraduate electronic/electrical engineering students at technical colleges and universities, postgraduate and research students, teachers, and hobbyists. Many tested and working simulation examples are provided covering most fields of analogue and digital electrical/electronic engineering. These include AC and DC circuits, diodes, zener diodes, transistor circuits, operational amplifiers, ladder diagrams, 3-phase circuits, mutual inductance, rectifier circuits, oscillators, active and passive filter circuits, digital logic, VHDL, MCUs, switch-mode power supplies, PCB design, Fourier series, and spectrum. Readers do not need to have any programming experience unless they wish to simulate complex MCU circuits.
Stromversorgung ohne Stress – Band 3
Elektronik ohne Batterien oder Versorgungsnetz
Für den Betrieb moderner elektronischer Bauteile ist vergleichsweise nur noch wenig Energie notwendig. Dies eröffnet neue Möglichkeiten, wie z. B. Schaltungen und Baugruppen, die ohne Batterien oder Akkumulatoren auskommen und auch keinen Anschluss an das Versorgungsnetz benötigen. Damit entfällt auch ein großer Teil des Wartungsaufwandes. Die Baugruppen arbeiten weitestgehend „für sich alleine“. Die Energie wird auf unterschiedlichste Weise aus der Umgebung gewonnen. Dazu sind allerdings spezielle Techniken erforderlich. Nicht nur zur Gewinnung der Energie – auch zur Umformung, so dass sie für elektronische Schaltungen nutzbar ist.
In diesem Buch geht es um die Bereitstellung kleiner Energiemengen, mit denen kleine Geräte (Sensoren, Sender und Empfänger für QRP oder Datenübertragung, etc.) völlig autark betrieben werden können – wenn möglich, mit Bauteilen aus der Bastelkiste und ohne komplexe, spezialisierte Integrierte Schaltungen.
Die am Thema interessierten Elektroniker und „Macher“ lernen hier, wie sie eigene reale Energy-Harvesting-Projekte mit Teilen aus der Bastelkiste umsetzen können, ohne vorher viel Zeit für lange theoretische Abhandlungen aufzubringen.
Gerade beim Energy Harvesting ist es jedoch nicht immer möglich auf Spezial–ICs zu verzichten. Es geht eben um jedes µW und es ist leicht nachvollziehbar, dass es einfacher ist, auf einer kleinen Chipfläche mit wenig Energie zu arbeiten, als bei einer ausladenden Schaltung mit umfangreicher Verdrahtung.
Die mehr „theoretischen“ oder grundsätzlichen Themen wurden in die einzelnen Kapitel und Projekte eingestreut. Den vollständigen Überblick erhält man deshalb erst, wenn man das Buch in Gänze gelesen hat. Dafür kann der Leser bereits im 2. Kapitel ein erstes Projekt umsetzen.
Fertige und selbst aufgebaute Arduino-Knoten im TTN
LoRaWAN hat sich als Kommunikationslösung im IoT hervorragend entwickelt. The Things Network (TTN) hat hierzu seinen Beitrag geleistet. Aktuell wird The Things Network auf The Things Stack Community Edition (TTS (CE)) aktualisiert. Die Cluster von TTN V2 werden gegen Ende 2021 geschlossen.
Der Autor zeigt Ihnen die notwendigen Schritte, damit Sie in gewohnter Weise LoRaWAN-Knoten mit Hilfe von TTS (CE) betreiben und vielleicht auch das Netz der Gateways durch ein eigenes Gateway erweitern. Mittlerweile gibt es sogar für den mobilen Einsatz geeignete LoRaWAN-Gateways mit denen Sie über Ihr Mobiltelefon Verbindung zum TTN-Server aufbauen können.
In diesem Buch werden eine Reihe kommerzieller und Arduino-basierter LoRaWAN-Knoten als auch neue, kostengünstige und für den Batteriebetrieb geeignete Hardware zum Aufbau autonomer LoRaWAN-Knoten vorgestellt.
Die Registrierung von LoRaWAN-Knoten und Gateways im TTS (CE) sowie die Bereitstellung der erhobenen Daten über MQTT und die Visualisierung über Node-RED, Cayenne, Thingspeak und Datacake ermöglichen komplexe IoT-Projekte und völlig neue Anwendungen zu sehr geringen Kosten.
Das vorliegende Buch versetzt Sie in die Lage, mit batteriebetriebenen Sensoren (LoRaWAN-Knoten) erfasste Daten drahtlos im Internet bereitzustellen und zu visualisieren.
Sie lernen die Grundlagen für Smart-City- und IoT-Anwendungen, die beispielsweise die Messung von Luftqualität, Wasserständen, Schneehöhen, das Ermitteln von freien Parkfeldern (Smart Parking) und die intelligente Steuerung der Straßenbeleuchtung (Smart Lighting) u.a.m. ermöglichen.
Nahezu alle Menschen werden zunehmend mit den Anwendungen der „Künstlichen Intelligenz“ (KI oder AI für engl. Artificial Intelligence) konfrontiert. Musik- oder Videoempfehlungen, Navigationssysteme, Einkaufsvorschläge etc. basieren auf Verfahren, die diesem Bereich zugeordnet werden können.
Der Begriff „Künstliche Intelligenz“ wurde 1956 auf einer internationalen Konferenz, dem Dartmouth Summer Research Project geprägt. Eine grundlegende Idee war dabei, die Funktionsweise des menschlichen Gehirns zu modellieren und darauf basierend fortschrittliche Computersysteme zu konstruieren. Bald sollte klar sein, wie der menschliche Verstand funktioniert. Die Übertragung auf eine Maschine wurde nur noch als ein kleiner Schritt angesehen. Diese Vorstellung erwies sich als etwas zu optimistisch. Dennoch sind die Fortschritte der modernen KI, beziehungsweise ihrem Teilgebiet dem sogenannten „Machine Learning“, nicht mehr zu übersehen.
Um die Methoden des Machine Learnings näher kennenzulernen, sollen in diesem Buch mehrere verschiedene Systeme zum Einsatz kommen. Neben dem PC werden sowohl der Raspberry Pi als auch der „Maixduino“ in den einzelnen Projekten ihre Fähigkeiten beweisen. Zusätzlich zu Anwendungen wie Objekt- und Gesichtserkennung entstehen dabei auch praktisch einsetzbare Systeme wie etwa Flaschendetektoren, Personenzähler oder ein „Sprechendes Auge“.
Letzteres ist in der Lage, automatisch erkannte Objekte oder Gesichter akustisch zu beschreiben. Befindet sich beispielsweise ein Fahrzeug im Sichtfeld der angeschlossenen Kamera, so wird die Information „I see a car!“ über elektronisch erzeugte Sprache ausgegeben. Derartige Geräte sind hochinteressante Beispiele dafür, wie etwa auch blinde oder stark sehbehinderte Menschen von KI-Systemen profitieren können.
Ein Blick in die einschlägigen Internetforen zeigt, dass das Programmieren immer noch in der Gruppe der beliebten Hobbys rangiert. Wo dem Hobbyprogrammierer früher eine Reihe bekannter und populärer Programmiersprachen zur Verfügung standen, ist es heute relativ übersichtlich geworden: Außer C++, Java und Visual Basic gibt es wenig bekannte und beliebte Programmiersprachen. Was fehlt, ist eine Programmiersprache, die für Laien fast so einfach zu handhaben ist wie die alten BASIC-Versionen, deren Leistung und Features dennoch an die Möglichkeiten und die Power moderner Windows-Rechner angepasst sind. Diese Programmiersprache existiert und heißt Processing.
Das vorliegende Buch führt den Leser in diese visuelle Programmiersprache ein. Das Buch richtet sich an Leser, die bereits allgemeine Erfahrungen im Umgang mit Programmiersprachen besitzen und wissen, worum es sich bei Strings, Arrays oder Schleifen handelt. Der Autor zeigt anhand vieler kurzer Programmbeispiele, wie einfach es ist, mit Processing auch leistungsfähige Software zu programmieren und sich dabei auf eine nur geringe Anzahl von Befehlen, Anweisungen und Funktionen zu beschränken.
Die in diesem Buch vorgestellten Programme sind zum Teil Hardware-orientiert, wobei auch die Erfassung von Daten und die Steuerung von Hardware mittels des bekannten Mikrocontrollers Arduino einer Rolle spielt. Kurz und gut: Ein Buch für alle, die eine schnell und einfach zu programmierende Software mit elektronischer Hardware kombinieren und das Ganze über maßgeschneiderte Benutzeroberflächen steuern möchten.
Mit seinem Buch möchte der Autor dem Einsteiger in die analoge Elektronik helfen, sich im Dschungel der oft verwirrenden Fachbegriffe zurecht zu finden, ohne ihn dabei mit abschreckenden Formeln zu verwirren. In der Absicht, dem Leser eine möglichst breite Themenpalette darzubieten, hat er auf allzu tiefschürfende Erläuterungen verzichtet und sich auf das Wesentliche konzentriert, wobei er es sich natürlich nicht nehmen ließ, seine Lieblingsthemen, Messtechnik und Musikelektronik mit Operationsverstärkern, in den Vordergrund zu stellen.
Der Autor zeigt (nachdem er die Funktionsweise der bekanntesten elektronischen Bauelemente erklärt hat), dass sich hinter vielen komplexen Schaltungen immer wieder dieselben Grundelemente verbergen und verdeutlicht anhand zahlreicher Beispiele, wie man durch geschickte Kombination solcher „Module“ nahezu alle an die analoge Messtechnik gestellten Anforderungen erfüllen kann (Stichwort „Signalkonditionierung“), was besonders für Anwender von Mikrocontrollern im Bereich von Umweltmessungen interessant sein dürfte.
Die zahlreichen Anekdoten aus der Zeit, in welcher sich der Autor selbst noch an die „Geheimnisse“ der Elektronik herantastete, sind der Beweis dafür, dass es sich hier in erster Linie nicht um ein mit Fachchinesisch und Formeln vollgestopftes Lehrbuch handelt, sondern um einen leichten und mit Humor gewürzten Überblick über die Themen, über die ein Newcomer Bescheid wissen sollte. Das Buch, das sich stellenweise fast wie ein Roman liest, wird abgerundet durch wertvolle, auf praktischen Erfahrungen basierende Tipps. Erfahrungen, die der Autor beim Ätzen von Platinen, beim Herstellen von Frontplatten und beim Bau von Gehäusen im Laufe der Zeit gesammelt hat. Kurzum: Ein Buch, das nicht nur Kenntnisse vermittelt, sondern den Leser auch zum Entwickeln eigener Schaltungen inspiriert.
Open-Source-Code mit Arduino IDE und PlatformIO
Autonomes Fahren: GPS, Accelerometer, Gyroskop
PS3-Controller
Mikrocontroller wie der Arduino und Einplatinenrechner wie der Raspberry Pi haben sich zu beliebten Komponenten entwickelt. Dritter im Bunde ist der ESP32 der Firma Espressif. Mikrocontroller dieser Baureihe zeichnen sich durch eine Vielzahl implementierter Funktionen aus, die bei einem Arduino konventioneller Prägung mit einem Atmel-AVR-Mikrocontroller erst mit weiterer Hardware möglich sind. Prominentes Beispiel sind hier die WiFi- und Bluetooth-Funktionalitäten. Gegenüber einem Raspberry Pi zeichnen sie sich durch einen deutlich geringeren Preis aus.
Allgemeine Informationen für die Realisierung eines Roboterauto-Projekts mit dem ESP32 sind leicht zu finden. Dabei handelt es sich aber oft nur um Ausführungen zu einem Teilaspekt, ohne inhaltliche oder funktionale Abstimmung. So ist nicht nur die Beschaffung der benötigten Informationen mühselig und zeitaufwändig, sie kann auch außerordentlich fehlerträchtig sein.
Ansatzpunkt dieses Buches ist, diese Lücke zu schließen. Es geht auf verschiedene Möglichkeiten eines Chassis ein, vermittelt nötige Kenntnisse und führt schrittweise von einer einfachen Motorsteuerung zu einem komplexen sensor- und sprachgesteuerten Roboterauto. Hacks rund um GPS und eine PlayStation 3 runden die Sache ab.
Inhalt
Bei der Reihenfolge der Kapitel wurde versucht – beginnend bei der Darstellung von grundlegenden Informationen – über die Lösung einfacher Aufgaben zu etwas anspruchsvolleren Techniken zu führen.
Der Mikrocontroller ESP32
Die Software erstellen
Die Stromversorgung
Rund um die Hardware
Das Chassis
Der Gleichstrommotor
Kabellose Steuerung über WiFi
Mit Sensoren Hindernisse erkennen
Eine eigene Roboterauto-App
Servo und Lichtsensor
GPS
Accelerometer / Gyroskop
PS3-Controller
Roboterauto-App
Hinweis zur Software
Die Dateien haben das Suffix (.cpp). Grund ist die Entwicklung mit PlatformIO. Mit Copy & Paste sollten sie auch in der Arduino-IDE verwendet werden können.
This book discusses the basic components of any alarm system.
All alarm systems have two basic functions. First, they monitor their environment looking for a change such as a door or window opening or someone moving about in the room. Second, they alert the legal owner or user to this change. The system described in this book uses a scanning type software to detect intruders. It behaves like a guard dog, pacing up and down the fence line on the lookout for either an intruder or a familiar person. If you have an alarm key, you can disarm the system and enter.
With the scanning method, the software is easy to write and explain. It can scan eight alarm zones plus two special fire zones in about one second.
You don’t have to be an electrical engineer to install an alarm system, just a decent carpenter, painter, and plasterer! Because this alarm system runs on 12 volts, you don’t have to be a licensed electrician either to install it. The alarm system presented here uses Python software on the Raspberry Pi combined with some elementary electronic circuits. The code described in the book, as well as CAD files and a bill of materials for the alarm panel, are available for free downloading. The book provides the reader with examples of typical configurations coming straight from the author‘s experience. After reviewing the hardware components typically used in common alarm systems, the author shows how to plan one yourself.
To implement a modular alarm, no matter if it is for a single house or for a business or restaurant, the book shows how to skillfully combine a Raspberry Pi with small auxiliary electronic circuits. These are not installation instructions but food for thought that will enable readers to find a solution to their needs.
Get Cracking with the Arduino Nano V3, Nano Every, and Nano 33 IoT
The seven chapters in this book serve as the first step for novices and microcontroller enthusiasts wishing to make a head start in Arduino programming. The first chapter introduces the Arduino platform, ecosystem, and existing varieties of Arduino Nano boards. It also teaches how to install various tools needed to get started with Arduino Programming. The second chapter kicks off with electronic circuit building and programming around your Arduino. The third chapter explores various buses and analog inputs. In the fourth chapter, you get acquainted with the concept of pulse width modulation (PWM) and working with unipolar stepper motors.
In the fifth chapter, you are sure to learn about creating beautiful graphics and basic but useful animation with the aid of an external display. The sixth chapter introduces the readers to the concept of I/O devices such as sensors and the piezo buzzer, exploring their methods of interfacing and programming with the Arduino Nano. The last chapter explores another member of Arduino Nano family, Arduino Nano 33 IoT with its highly interesting capabilities. This chapter employs and deepens many concepts learned from previous chapters to create interesting applications for the vast world of the Internet of Things.
The entire book follows a step-by-step approach to explain concepts and the operation of things. Each concept is invariably followed by a to-the-point circuit diagram and code examples. Next come detailed explanations of the syntax and the logic used. By closely following the concepts, you will become comfortable with circuit building, Arduino programming, the workings of the code examples, and the circuit diagrams presented. The book also has plenty of references to external resources wherever needed.
An archive file (.zip) comprising the software examples and Fritzing-style circuit diagrams discussed in the book may be downloaded free of charge below.
Modelle für 3D-Druck, CNC-Fräsen, Prozesskommunikation und Dokumentation erstellen
Das Design dreidimensionaler Modelle mit Werkzeugen wie Blender oder 3D Studio Max ist eine Aufgabe, die ingenieurwissenschaftlich begabte Personen nur allzu gern delegieren.
OpenSCAD wählt einen erfrischend anderen Zugang. Anstatt ein Objekt als Punktwolke zu betrachten, schreibt der Modellerzeuger in einer an JavaScript erinnernden Sprache ein Programm. Dieses beschreibt die zu erzeugende Geometrie als eine Serie von Arbeitsschritten. Dreidimensionale Modelle entstehen so in einem Workflow, der an die Entwicklung klassischer ingenieurwissenschaftliche Güter erinnert. Wegen der Nähe zur manuellen Fertigung mit Werkzeug ist das ein Prozess, der Ingenieuren gut in die Hände spielt.
Aber Achtung: trotz der Einfachheit der Syntax ist OpenSCAD kein primitives Modellierungsprogramm. Umfangreiche Scriptingmöglichkeiten sorgen dafür, dass sich die Modelle dynamisch an geänderte Situationen anpassen.
Dieses Lehrbuch demonstriert die Möglichkeiten von OpenSCAD anhand praktischer Beispiele. Freuen Sie sich auf Ersatzknöpfe für ein LeCroy-Oszilloskop, Garderobenstangenhalter, einen Halter für Seifenspender und diverse andere Beispiele aus dem realen Leben.
Der mit mehr als 15 Dienstjahren Erfahrung ausgestattete Autor entwickelte dieses für Linux und Windows gleichermaßen geeignete Buch explizit für informatikaffine Personen. Wenn Sie mit irgendeiner Programmiersprache Erfahrung haben, ist dieses Buch ihr Weg zum schnellen und unbürokratischen Erzeugen dreidimensionaler Modelle.
Die WiFi-Module der chinesischen Firma Espressif haben schon längst die Maker-Community erobert, bieten sie doch zu einem konkurrenzlosen Preis MCU- und WiFi-Funktionalität. Mit einfachen Mitteln lässt sich ein Arduino mit einem ESP-Modul um WiFi erweitern. Die globale Bastler-Gemeinde ersetzte schon bald die integrierte Firmware mit eigener Firmware, sodass Entwickler ESP-Boards wie Arduino-Boards programmieren können. Der neue ESP32 geht einen Schritt weiter und ist in jeder Beziehung leistungsfähiger als der ESP8266. Zudem besitzt er nun Bluetooth-Funktionalität.
Der ESP32 verfügt über einen 240-MHz-Zweikern-Mikroprozessor mit einer Performanz von 600 DMIPS. Neben 520 KByte SRAM befinden sich 16 MByte Flashspeicher an Board. Zur Kommunikation mit der Außenwelt enthält das System-on-a-Chip die 802.11-b/g/n-WiFi-Komponente HT40 und Bluetooth-Funktionalität. Als Sensoren bietet der ESP32 einen Hall-Sensor, eine zehnfache, kapazitive Touch-Schnittstelle, einen analogen Verstärker für niedrige Signale und einen 32-kHz-Kristallquartz.
Der Bestseller-Autor Erik Bartmann hat sich ausführlich mit dem ESP32 beschäftigt. Heraus gekommen ist dabei Das ESP32-Praxisbuch, in dem er die Leser Schritt für Schritt in die Arbeit mit diesem preiswerten WiFi-Mikrocontroller einführt.
Learn programming for Alexa devices, extend it to smart home devices and control the Raspberry Pi
The book is split into two parts: the first part covers creating Alexa skills and the second part, designing Internet of Things and Smart Home devices using a Raspberry Pi.
The first chapters describe the process of Alexa communication, opening an Amazon account and creating a skill for free. The operation of an Alexa skill and terminology such as utterances, intents, slots, and conversations are explained. Debugging your code, saving user data between sessions, S3 data storage and Dynamo DB database are discussed.
In-skill purchasing, enabling users to buy items for your skill as well as certification and publication is outlined. Creating skills using AWS Lambda and ASK CLI is covered, along with the Visual Studio code editor and local debugging. Also covered is the process of designing skills for visual displays and interactive touch designs using Alexa Presentation Language.
The second half of the book starts by creating a Raspberry Pi IoT 'thing' to control a robot from your Alexa device. This covers security issues and methods of sending and receiving MQTT messages between an Alexa device and the Raspberry Pi.
Creating a smart home device is described including forming a security profile, linking with Amazon, and writing a Lambda function that gets triggered by an Alexa skill. Device discovery and on/off control is demonstrated.
Next, readers discover how to control a smart home Raspberry Pi display from an Alexa skill using Simple Queue Service (SQS) messaging to switch the display on and off or change the color.
A node-RED design is discussed from the basic user interface right up to configuring MQTT nodes. MQTT messages sent from a user are displayed on a Raspberry Pi.
A chapter discusses sending a proactive notification such as a weather alert from a Raspberry Pi to an Alexa device. The book concludes by explaining how to create Raspberry Pi as a stand-alone Alexa device.
Multitasking and multiprocessing have become a very important topic in microcontroller-based systems, namely in complex commercial, domestic, and industrial automation applications. As the complexity of projects grows, more functionalities are demanded from the projects. Such projects require the use of multiple inter-related tasks running on the same system and sharing the available resources, such as the CPU, memory, and input-output ports. As a result of this, the importance of multitasking operations in microcontroller-based applications has grown steadily over the last few years. Many complex automation projects now make use of some form of a multitasking kernel.
This book is project-based and its main aim is to teach the basic features of multitasking using the Python 3 programming language on Raspberry Pi. Many fully tested projects are provided in the book using the multitasking modules of Python. Each project is described fully and in detail. Complete program listings are given for each project. Readers should be able to use the projects as they are, or modify them to suit their own needs.
The following Python multitasking modules have been described and used in the projects:
Fork
Thread
Threading
Subprocess
Multiprocessing
The book includes simple multitasking projects such as independently controlling multiple LEDs, to more complex multitasking projects such as on/off temperature control, traffic lights control, 2-digit, and 4-digit 7-segment LED event counter, reaction timer, stepper motor control, keypad based projects, car park controller, and many more. The fundamental multitasking concepts such as process synchronization, process communication, and memory sharing techniques have been described in projects concerning event flags, queues, semaphores, values, and so on.
In seinem leidenschaftlichen Plädoyer für die Nutzung von Sonnenenergie wendet sich der Autor an technisch nicht versierte Leser. Der Autor von Photovoltaik für Quereinsteiger hat drei klare Botschaften:
Es ist ziemlich einfach, eine Photovoltaikanlage erfolgreich in Betrieb zu nehmen.
Die notwendigen Kalkulationen dazu, ob sich eine Solaranlage lohnt, passen auf einen Bierdeckel.
Elektrischer Strom kann mit Photovoltaik schon heute für 3,5 Eurocent pro Kilowattstunde erzeugt werden. Allerdings nur tagsüber und auch nicht überall auf der Welt (aber an sehr vielen Orten).
Das Buch erklärt, wie man zu marktüblichen Preisen Anlagen bauen kann, die zu unschlagbaren Niedrigstpreisen Strom liefern können. Es wird erläutert, wie man Anlagen abhängig vom Standort kalkulieren muss. Dabei beleuchtet der Autor in leicht verständlichen Worten die physikalischen Grundlagen der Gewinnung von Energie durch Photovoltaik und erklärt, wie eine Solarzelle prinzipiell arbeitet. Die grundsätzlichen Bestandteile einer Photovoltaikanlage werden so erklärt, dass sie auch von Laien verstanden werden. Ausführlich geht der Autor auf die richtige Wahl von Batterien zur Speicherung des gewonnenen Stromes ein. Potentielle Fehler- und Gefahrenquellen beim Auf- und Ausbau finden ebenso Berücksichtigung.
Das Buch richtet sich dabei an Privatpersonen und an Projektbetreiber, die Strom für den Eigenverbrauch erzeugen möchten.
Third, extended and revised edition with AVR Playground and Elektor Uno R4
Arduino boards have become hugely successful. They are simple to use and inexpensive. This book will not only familiarize you with the world of Arduino but it will also teach you how to program microcontrollers in general. In this book theory is put into practice on an Arduino board using the Arduino programming environment.
Some hardware is developed too: a multi-purpose shield to build some of the experiments from the first 10 chapters on; the AVR Playground, a real Arduino-based microcontroller development board for comfortable application development, and the Elektor Uno R4, an Arduino Uno R3 on steroids.
The author, an Elektor Expert, provides the reader with the basic theoretical knowledge necessary to program any microcontroller: inputs and outputs (analog and digital), interrupts, communication busses (RS-232, SPI, I²C, 1-wire, SMBus, etc.), timers, and much more. The programs and sketches presented in the book show how to use various common electronic components: matrix keyboards, displays (LED, alphanumeric and graphic color LCD), motors, sensors (temperature, pressure, humidity, sound, light, and infrared), rotary encoders, piezo buzzers, pushbuttons, relays, etc. This book will be your first book about microcontrollers with a happy ending!
This book is for you if you are a beginner in microcontrollers, an Arduino user (hobbyist, tinkerer, artist, etc.) wishing to deepen your knowledge,an Electronics Graduate under Undergraduate student or a teacher looking for ideas.
Thanks to Arduino the implementation of the presented concepts is simple and fun. Some of the proposed projects are very original:
Money Game
Misophone (a musical fork)
Car GPS Scrambler
Weather Station
DCF77 Decoder
Illegal Time Transmitter
Infrared Remote Manipulator
Annoying Sound Generator
Italian Horn Alarm
Overheating Detector
PID Controller
Data Logger
SVG File Oscilloscope
6-Channel Voltmeter
All projects and code examples in this book have been tried and tested on an Arduino Uno board. They should also work with the Arduino Mega and every other compatible board that exposes the Arduino shield extension connectors.
Please note
For this book, the author has designed a versatile printed circuit board that can be stacked on an Arduino board. The assembly can be used not only to try out many of the projects presented in this book but also allows for new exercises that in turn provide the opportunity to discover new techniques. Also available is a kit of parts including the PCB and all components. With this kit you can build most of the circuits described in the book and more.
Datasheets Active Components Used (.PDF file):
ATmega328 (Arduino Uno)
ATmega2560 (Arduino Mega 2560)
BC547 (bipolar transistor, chapters 7, 8, 9)
BD139 (bipolar power transistor, chapter 10)
BS170 (N-MOS transistor, chapter 8)
DCF77 (receiver module, chapter 9)
DS18B20 (temperature sensor, chapter 10)
DS18S20 (temperature sensor, chapter 10)
HP03S (pressure sensor, chapter 8)
IRF630 (N-MOS power transistor, chapter 7)
IRF9630 (P-MOS power transistor, chapter 7)
LMC6464 (quad op-amp, chapter 7)
MLX90614 (infrared sensor, chapter 10)
SHT11 (humidity sensor, chapter 8)
TS922 (dual op-amp, chapter 9)
TSOP34836 (infrared receiver, chapter 9)
TSOP1736 (infrared receiver, chapter 9)
MPX4115 (analogue pressure sensor, chapter 11)
MCCOG21605B6W-SPTLYI (I²C LCD, chapter 12)
SST25VF016B (SPI EEPROM, chapter 13)
About the author
Clemens Valens, born in the Netherlands, lives in France since 1997. Manager at Elektor Labs and Webmaster of ElektorLabs, in love with electronics, he develops microcontroller systems for fun, and sometimes for his employer too. Polyglot—he is fluent in C, C++, PASCAL, BASIC and several assembler dialects—Clemens spends most of his time on his computer while his wife, their two children and two cats try to attract his attention (only the cats succeed). Visit the author’s website: www.polyvalens.com.Authentic testimony of Hervé M., one of the first readers of the book:'I almost cried with joy when this book made me understand things in only three sentences that seemed previously completely impenetrable.'
Dieses Buch ist eine Einführung in das hochaktuelle Gebiet der Robotik. Dabei stehen praktische Anwendungsbeispiele im Vordergrund. Neben den technischen und mechanischen Grundlagen werden die elektronischen Komponenten und Module erläutert. Eine zentrale Rolle spielt dabei der Mikrocontroller.
Für Robotik-Anwendungen haben sich zwei Controller-Boards etabliert: der Arduino und der Raspberry Pi. Dem trägt dieses Buch Rechnung und beschreibt praktische Nachbauprojekte mit diesen beiden populären Boards.
Getreu der Philosophie des „Learning by Doing“ können sich auch ambitionierte, nichtprofessionelle Anwender mit dem Lernmaterial des Buches einen Überblick über den neuesten Stand der Robotertechnik und KI verschaffen. Für praktische Anwendungen können sowohl komplette Bausätze als auch einzelne Komponenten verwendet werden. Dabei wurde stets darauf geachtet, dass die Hardware möglichst universell einsetzbar ist.
40+ Projects using Arduino, Raspberry Pi and ESP32
This book is about developing projects using the sensor-modules with Arduino Uno, Raspberry Pi and ESP32 microcontroller development systems. More than 40 different sensors types are used in various projects in the book. The book explains in simple terms and with tested and fully working example projects, how to use the sensors in your project. The projects provided in the book include the following:
Changing LED brightness
RGB LEDs
Creating rainbow colours
Magic wand
Silent door alarm
Dark sensor with relay
Secret key
Magic light cup
Decoding commercial IR handsets
Controlling TV channels with IT sensors
Target shooting detector
Shock time duration measurement
Ultrasonic reverse parking
Toggle lights by clapping hands
Playing melody
Measuring magnetic field strength
Joystick musical instrument
Line tracking
Displaying temperature
Temperature ON/OFF control
Mobile phone-based Wi-Fi projects
Mobile phone-based Bluetooth projects
Sending data to the Cloud
The projects have been organized with increasing levels of difficulty. Readers are encouraged to tackle the projects in the order given. A specially prepared sensor kit is available from Elektor. With the help of this hardware, it should be easy and fun to build the projects in this book.