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.
Dieses Bundle enthält beide Bände von "KiCad Like a Pro" (4. Ausgabe 2024). In Fundamentals and Projects (Einzelpreis: 49,95 €) lernen Sie den praktischen Umgang mit KiCad kennen, sodass Sie schnell produktiv werden und mit dem Entwurf Ihrer eigenen Boards beginnen können. Mit Advanced Projects and Recipes (Einzelpreis: 44,95 €) können Sie Ihre neuen KiCad-Kenntnisse üben, indem Sie sich selbst mit einer Reihe realer Projekte herausfordern.
Die neueste Version von KiCad, dem weltweit besten kostenlosen PCB-Tool, ist vollgepackt mit Funktionen, die normalerweise nur in teuren kommerziellen CAD-Tools zu finden sind. Diese moderne, plattformübergreifende Anwendungssuite, die auf Schaltplan- und Designeditoren mit Zusatzanwendungen basiert, ist ein stabiles und ausgereiftes PCB-Tool. KiCad 8 ist perfekt für Elektronikingenieure und -hersteller geeignet.
Hier sind die wichtigsten Verbesserungen und Funktionen in KiCad 8, sowohl über als auch unter der Haube:
Moderne Benutzeroberfläche, im Vergleich zu früheren Versionen komplett neu gestaltet
Verbesserte und anpassbare Prüffunktionen für elektrische und Designregeln
Designeditor, mit dem Sie KiCad auf Ihrem Bildschirm anpassen können
Möglichkeit zum Importieren von Projekten aus Eagle, CADSTART und mehr
Python-Skripting-API
Verbesserter integrierter SPICE-Schaltkreissimulator
Mehrblatt-Schaltpläne
Filter definieren auswählbare Elemente
Verbesserter interaktiver Router hilft Ihnen, einzelne Spuren und Differenzialpaare präzise zu zeichnen
Neue oder verbesserte Tools zum Zeichnen von Spuren, Messen von Entfernungen, Anpassen von Spurlängen usw.
Erweiterte interaktive Router
Integrierter Stücklistengenerator
Realistischer Raytracing-fähiger 3D-Viewer
Anpassbare Teardrops
Plug-in-Manager für die schnelle Installation von Designs, Bibliotheken und Funktionen wie Autoroutern und Stücklistengeneratoren
Das erste Buch KiCad Like A Pro – Fundamentals and Projects bringt Ihnen den Umgang mit KiCad durch einen praktischen Ansatz bei. Es wird Ihnen helfen, schnell produktiv zu werden und mit dem Entwurf Ihrer eigenen Platinen zu beginnen. Beispielprojekte veranschaulichen die grundlegenden Funktionen von KiCad, auch wenn Sie keine Vorkenntnisse im PCB-Design haben. Der Autor beschreibt den gesamten Arbeitsablauf von der Schaltplaneingabe bis zu den Feinheiten der Fertigstellung der Dateien für die PCB-Produktion und bietet fundierte Anleitungen für den Prozess.
Das zweite Buch KiCad Like A Pro – Advanced Projects and Recipes hilft Ihnen, Ihre neuen KiCad-Kenntnisse zu üben, indem es Sie in einer Reihe realer Projekte herausfordert. Die Projekte werden durch einen umfassenden Satz von Rezepten mit detaillierten Anweisungen zur Erledigung einer Vielzahl einfacher und komplexer Aufgaben unterstützt. Entwerfen Sie die Platine für eine Solarstromversorgung, ein LED-Matrix-Array, einen Arduino-betriebenen Datenlogger und eine benutzerdefinierte ESP32-Platine. Lernen Sie die Feinheiten des interaktiven Routers kennen, erfahren Sie, wie Sie KiCad-Projektteams mit Git verwalten, wie Sie einen Autorouter auf 2- und 4-lagigen Platinen verwenden und vieles mehr.
From basics to flows for sensors, automation, motors, MQTT, and cloud services
This book is a learning guide and a reference. Use it to learn Node-RED, Raspberry Pi Pico W, and MicroPython, and add these state-of-the-art tools to your technology toolkit. It will introduce you to virtual machines, Docker, and MySQL in support of IoT projects based on Node-RED and the Raspberry Pi Pico W.
This book combines several elements into a platform that powers the development of modern Internet of Things applications. These elements are a flow-based server, a WiFi-enabled microcontroller, a high-level programming language, and a deployment technology. Combining these elements gives you the tools you need to create automation systems at any scale. From home automation to industrial automation, this book will help you get started.
Node-RED is an open-source flow-based development tool that makes it easy to wire together devices, APIs, and online services. Drag and drop nodes to create a flowchart that turns on your lights at sunset or sends you an email when a sensor detects movement. Raspberry Pi Pico W is a version of the Raspberry Pi Pico with added 802.11n Wi-Fi capability. It is an ideal device for physical computing tasks and an excellent match to the Node-RED.
Quick book facts
Project-based learning approach.
Assumes no prior knowledge of flow-based programming tools.
Learn to use essential infrastructure tools in your projects, such as virtual machines, Docker, MySQL and useful web APIs such as Google Sheets and OpenWeatherMap.
Dozens of mini-projects supported by photographs, wiring schematics, and source code. Get these from the book GitHub repository.
Step-by-step instructions on everything.
All experiments are based on the Raspberry Pi Pico W. A Wi-Fi network is required for all projects.
Hardware (including the Raspberry Pi Pico W) is available as a kit.
Downloads
GitHub
Practical Multitasking Fundamentals
Programming embedded systems is difficult because of resource constraints and limited debugging facilities. Why develop your own Real-Time Operating System (RTOS) as well as your application when the proven FreeRTOS software is freely available? Why not start with a validated foundation?
Every software developer knows that you must divide a difficult problem into smaller ones to conquer it. Using separate preemptive tasks and FreeRTOS communication mechanisms, a clean separation of functions is achieved within the entire application. This results in safe and maintainable designs.
Practicing engineers and students alike can use this book and the ESP32 Arduino environment to wade into FreeRTOS concepts at a comfortable pace. The well-organized text enables you to master each concept before starting the next chapter. Practical breadboard experiments and schematics are included to bring the lessons home. Experience is the best teacher.
Each chapter includes exercises to test your knowledge. The coverage of the FreeRTOS Application Programming Interface (API) is complete for the ESP32 Arduino environment. You can apply what you learn to other FreeRTOS environments, including Espressif’s ESP-IDF. The source code is available from GitHub. All of these resources put you in the driver’s seat when it is time to develop your next uber-cool ESP32 project.
What you will learn:
How preemptive scheduling works within FreeRTOS
The Arduino startup “loopTask”
Message queues
FreeRTOS timers and the IDLE task
The semaphore, mutex, and their differences
The mailbox and its application
Real-time task priorities and its effect
Interrupt interaction and use with FreeRTOS
Queue sets
Notifying tasks with events
Event groups
Critical sections
Task local storage
The gatekeeper task
Praktische Einführung in 3D-Modellierung vom Gehäuse bis zu Frontplatten
Ein historisches Bauteil einbetten, eine professionell anmutende Heimstätte für eine Leiterplatte schaffen oder ein komplexes Gerät mit Chassis konstruieren – diese und viele andere Herausforderungen werden mit FreeCAD zu einem anregenden Vergnügen. Hat man die grundlegenden Prozesse erst einmal verinnerlicht, sind der Fantasie praktisch keine Grenzen mehr gesetzt.
Der Einstieg in ein neues Programm ist immer schwierig – besonders wenn es sich um ein so vielfältiges Werkzeug wie FreeCAD handelt. Überschaubare, aber zugleich gut verwendbare Einzelteile liefern in diesem Buch den Anfangspunkt. Das Zusammensetzen dieser Komponenten führt später zu Baugruppen.
In der Vielfalt der Möglichkeiten von FreeCAD wird ein gangbarer Weg gezeigt. Das beschriebene Vorgehen ist exemplarisch – die Beispiele lassen sich daher leicht auf eigene Aufgaben anwenden. Die Geräte wurden vom Autor angefertigt und mit Fotos illustriert.
Eine 3D-Konstruktion erfordert etwas Aufwand, der sich aber lohnt: Neben einer beeindruckenden Darstellung von Projekten wird zugleich die Möglichkeit geliefert, z. B. Blechteile zur Fertigung abzuwickeln und für die Werkstatt aussagekräftige Zeichnungen zu exportieren.
Schon bald werden Sie auf FreeCAD nicht mehr verzichten wollen!
Einführung in die SPS-Programmierung mit dem Open-Source-Projekt auf dem Raspberry Pi und Modbus-Beispiele mit dem Arduino Uno und ESP8266
Die SPS-Programmierung ist heute in der Industrie und in der Hausautomation sehr weit verbreitet. In diesem Buch beschreibt der Autor, wie der Raspberry Pi 4 als SPS eingesetzt werden kann. Angefangen mit der Softwareinstallation auf dem Raspberry Pi und dem SPS-Editor auf dem PC geht es nach einer Beschreibung der Hardware an das Programmieren.
Es folgen interessante Beispiele nach IEC 61131-3 in den verschiedenen Programmiersprachen. Ausführlich wird auch erklärt, wie der SPS-Editor benutzt wird und wie die Programme auf den Raspberry Pi geladen und ausgeführt werden. Angefangen mit der Programmierung mit KOP (Kontaktplan) über ST (Structured Control Language) bis zu AS (Special Function Chart) werden alle IEC-Sprachen mit Beispielen behandelt. Diese können auf der Website des Autors heruntergeladen werden.
Auch die Vernetzung kommt nicht zu kurz. Der Arduino Uno und der ESP8266 werden als ModbusRTU- bzw. ModbusTCP-Module programmiert, um Zugriff auf externe Peripherie zu erhalten. Damit ist es möglich, Sensoren einzulesen und Verbraucher zu schalten. Interessant dürften auch E/A-Schaltungen sein, die dem 24V-Industriestandard entsprechen.
Befehlsübersichten für ST und KOP runden das Buch ab.
Nach dem Durcharbeiten des Buches ist der Leser in der Lage, eigene SPS-Steuerungen mit dem Raspberry Pi zu verwirklichen.
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
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.
Example projects with Node-RED, MQTT, WinCC SCADA, Blynk, and ThingSpeak
This comprehensive guide unlocks the power of Modbus TCP/IP communication with Arduino. From the basics of the Modbus protocol right up to full implementation in Arduino projects, the book walks you through the complete process with lucid explanations and practical examples.
Learn how to set up Modbus TCP/IP communication with Arduino for seamless data exchange between devices over a network. Explore different Modbus functions and master reading and writing registers to control your devices remotely. Create Modbus client and server applications to integrate into your Arduino projects, boosting their connectivity and automation level.
With detailed code snippets and illustrations, this guide is perfect for beginners and experienced Arduino enthusiasts alike. Whether you‘re a hobbyist looking to expand your skills or a professional seeking to implement Modbus TCP/IP communication in your projects, this book provides all the knowledge you need to harness the full potential of Modbus with Arduino.
Projects covered in the book:
TCP/IP communication between two Arduino Uno boards
Modbus TCP/IP communication within the Node-RED environment
Combining Arduino, Node-RED, and Blynk IoT cloud
Interfacing Modbus TCP/IP with WinCC SCADA to control sensors
Using MQTT protocol with Ethernet/ESP8266
Connecting to ThingSpeak IoT cloud using Ethernet/ESP8266
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.
Hands-on in more than 50 projects
STM32 Nucleo family of processors are manufactured by STMicroelectronics. These are low-cost ARM microcontroller development boards. This book is about developing projects using the popular STM32CubeIDE software with the Nucleo-L476RG development board. In the early Chapters of the book the architecture of the Nucleo family is briefly described.
The book covers many projects using most features of the Nucleo-L476RG development board where the full software listings for the STM32CubeIDE are given for each project together with extensive descriptions. The projects range from simple flashing LEDs to more complex projects using modules, devices, and libraries such as GPIO, ADC, DAC, I²C, SPI, LCD, DMA, analogue inputs, power management, X-CUBE-MEMS1 library, DEBUGGING, and others. In addition, several projects are given using the popular Nucleo Expansion Boards. These Expansion Boards plug on top of the Nucleo development boards and provide sensors, relays, accelerometers, gyroscopes, Wi-Fi, and many others. Using an expansion board together with the X-CUBE-MEMS1 library simplifies the task of project development considerably.
All the projects in the book have been tested and are working. The following sub-headings are given for each project: Project Title, Description, Aim, Block Diagram, Circuit Diagram, and Program Listing for the STM32CubeIDE.
In this book you will learn about
STM32 microcontroller architecture;
the Nucleo-L476RG development board in projects using the STM32CubeIDE integrated software development tool;
external and internal interrupts and DMA;
DEBUG, a program developed using the STM32CubeIDE;
the MCU in Sleep, Stop, and in Standby modes;
Nucleo Expansion Boards with the Nucleo development boards.
What you need
a PC with Internet connection and a USB port;
STM32CubeIDE software (available at STMicroelectronics website free of charge)
the project source files, available from the book’s webpage hosted by Elektor;
Nucleo-L476RG development board;
simple electronic devices such as LEDs, temperature sensor, I²C and SPI chips, and a few more;
Nucleo Expansion Boards (optional).
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.
Getting started with the world’s best open-source PCB tool
The latest iteration of KiCad, the world’s best free-to-use Printed Circuit Board tool, is packed with features usually found only in expensive commercial CAD tools. This modern, cross-platform application suite built around schematic and design editors, with auxiliary applications is a stable and mature PCB tool. KiCad 8 is a perfect fit for electronic engineers and makers.
Here are the most significant improvements and features in KiCad 8, both over and under the hood:
Modern user interface, completely redesigned from earlier versions
Improved and customizable electrical and design rule checkers
Theme editor allowing you to customize KiCad on your screen
Ability to import projects from Eagle, CADSTART, and more
Python scripting API
Improved integrated SPICE circuit simulator
Multi-sheet schematics
Filters define selectable elements
Enhanced interactive router helps you draw single tracks and differential pairs with precision
New or enhanced tools to draw tracks, measure distances, tune track lengths, etc.
Advanced interactive router
Built-in bill of materials generator
Realistic ray-tracing capable 3D viewer
Customizable teardrops
Plug-in manager for quick installation of themes, libraries and functionalities such as autorouters and BOM generators
This book will teach you to use KiCad through a practical approach. It will help you become productive quickly and start designing your own boards. Example projects illustrate the basic features of KiCad, even if you have no prior knowledge of PCB design.
The author describes the entire workflow from schematic entry to the intricacies of finalizing the files for PCB production and offers sound guidance on the process. Further full-fledged projects, of incremental difficulty, will be presented in a second book, together with a variety of advanced recipes.
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.
MQTT ist ein leichtgewichtiges, ereignis- und nachrichtenorientiertes Protokoll zur effizienten und asynchronen Kommunikation zwischen Geräten auch über limitierte Netzwerke. Das bereits 1999 von IBM entwickelte Protokoll eignet sich heute in besonderer Weise für Internet-of-Things-Anwendungen. Im Gegensatz zu HTTP mit Request/Response-Verfahren ist bei MQTT eine Publish/Subscribe-Architektur umgesetzt. Es stehen mittlerweile zahlreiche MQTT-Broker und -Clients zur Verfügung. Aufgrund der Unterstützung durch die Eclipse Foundation, IBM und vieler anderer stehen zahlreiche Komponenten kostenlos im Internet zur Verfügung. Client-Bibliotheken gibt es für die unterschiedlichsten Plattformen und Programmiersprachen. Unterstützt werden u. a. die PC-Plattform mit Java und .Net sowie Arduino und Raspberry Pi.
Das MQTT-Praxisbuch führt Schritt für Schritt in die praktische Arbeit mit diesem ressourcensparenden Protokoll ein. Dabei widmet der Autor Walter Trojan dem Thema IoT-Sicherheit ein ausführliches Kapitel. Anhand von abgeschlossenen Projekten zum Nachbauen stellt der Autor in beeindruckender Weise die praktische Bedeutung des MQTT-Protokolls in modernen IoT-Anwendungen dar:
MQTT auf ESP8266
MQTT mit Arduino-IDE
MQTT-Benchmarks
MQTT auf dem Raspberry Pi
Flow-Programmierung mit Node-RED
Boss aller Automaten: openHAB
Projekt Gewächshaus mit automatisierter Beleuchtung, Bewässerung, Temperaturregelung sowie Luft- und Erdfeuchtigkeitsmessung
Mastering PCB design with real-world projects
This book builts on KiCad Like a Pro – Fundamentals and Projects and aims to help you practice your new KiCad skills by challenging you in a series of real-world projects. The projects are supported by a comprehensive set of recipes with detailed instructions on how to achieve a variety of simple and complex tasks. Design the PCBs for a solar power supply, an LED matrix array, an Arduino-powered datalogger, and a custom ESP32 board. Understand the finer details of the interactive router, how to manage KiCad project teams with Git, how to use an autorouter on 2 and 4-layer PCBs, and much more.
KiCad 8 is a modern, cross-platform application suite built around schematic and design editors. This stable and mature PCB tool is a perfect fit for electronic engineers and makers. With KiCad 8, you can create PCBs of any complexity and size without the constraints associated with the commercial packages.
Here are the most significant improvements and features in KiCad 8, both over and under the hood:
Modern user interface, completely redesigned from earlier versions
Improved and customizable electrical and design rule checkers
Theme editor allowing you to fully customize the look of KiCad on your screen
Ability to import projects from Eagle, CADSTART, and more
An improved and tightly integrated SPICE circuit simulator
Autorouting with the Freerouting plugin
Filters define which elements of a layout are selectable
Enhanced interactive router helps you draw single tracks and differential pairs with precision
New or enhanced tools to draw tracks, measure distances, tune track lengths, etc.
Enhanced tool for creating filled zones
A customizable coordinate system facilitates data exchange with other CAD applications
Realistic ray-tracing capable 3D viewer
Differential pair routing
Rich repositories of symbol, footprint, and 3D shape libraries
Python scripting API for programmatic customization and extensions
Improved footprint wizard for fast custom footprints
This book is about teaching the Python programming language using the Raspberry Pi 4 computer. The book makes an introduction to Raspberry Pi 4 and then teaches Python with the topics: variables, strings, arrays, matrices, tuples, lists, dictionaries, user functions, flow of control, printing, keyboard input, graphics, GUI, object oriented programming and many more topics.
The book is aimed for beginners, students, practising engineers, hobbyists, and for anyone else who may want to learn to program in Python.
The book includes many example programs and case studies. All the example programs and case studies have been tested fully by the author and are all working. The example programs aim to teach the various programming concepts of Python. The case studies cover the use of Python in the analysis and design of electronic circuits. Some of the case study topics are:
Resistor colour code identification
Resistive potential divider circuits
Resistive attenuator design
Zener diode voltage regulator design
RC and RLC transient circuits
Circuit frequency response
Saving data on external memory stick
Mesh and node circuit analysis using matrices
Resonance in RLC circuits
Transistor Biasing analysis
Transistor amplifier design
Design of active filters
Interfacing hardware with GPIO, I²C and SPI
Using Wi-Fi with Python and TCP/IP and UDP programs
Using Bluetooth from Python
Full program listings of all the programs used in the book are available at the Elektor website of the book. Readers should be able just to copy and use these programs in their Raspberry Pi projects without any modifications.
If you have the right tools, designing a microprocessor shouldn’t be complicated. The Verilog hardware description language (HDL) is one such tool. It can enable you to depict, simulate, and synthesize an electronic design, and thus increase your productivity by reducing the overall workload associated with a given project.Monte Dalrymple’s Microprocessor Design Using Verilog HDL is a practical guide to processor design in the real world. It presents the Verilog HDL in a straightforward fashion and serves as a detailed introduction to reducing the computer architecture and as an instruction set to practice. You’re led through the microprocessor design process from start to finish, and essential topics ranging from writing in Verilog to debugging and testing are laid bare.The book details the following, and more:
Verilog HDL Review: data types, bit widths/labeling, operations, statements, and design hierarchy
Verilog Coding Style: files vs. modules, indentation, and design organization
Design Work: instruction set architecture, external bus interface, and machine cycle
Microarchitecture: design spreadsheet and essential worksheets (e.g., Operation, Instruction Code, and Next State)
Writing in Verilog: choosing encoding, assigning states in a state machine, and files (e.g., defines.v, hierarchy.v, machine.v)
Debugging, Verification, and Testing: debugging requirements, verification requirements, testing requirements, and the test bench
Post Simulation: enhancements and reduction to practice
Monte Dalrymple received a BSEE (with highest honors) and an MSEE from the University of California at Berkeley, where he was elected to Phi Beta Kappa. Monte started his career at Zilog, where he designed a number of successful products, including the Serial Communication Controller (SCC) family and the Universal Serial Controller (USC) family. He was also the architect and lead designer of the Z380 microprocessor. Monte started his own company, Systemyde International Corp., in 1995, and has been doing contract design work ever since. He designed all five generations of Rabbit microprocessors, a Z180 clone that is flying on the Juno mission to Jupiter, and a Z8000 clone that flies in a commercial avionics air data computer. Monte holds 16 patents as well as both amateur and commercial radio licenses. Monte wrote 10 articles for Circuit Cellar magazine between 1996 and 2010. He recently completed a side project to replace the CPU in an HP-41C calculator with a modern FPGA-based version.
Kick off with the MAX1000 and VHDPlus
Ready to Master FPGA Programming? In this guide, we’re diving into the world of Field Programmable Gate Arrays (FPGAs) – a configurable integrated circuit that can be programmed after manufacturing. Imagine bringing your ideas to life, from simple projects to complete microcontroller systems!
Meet the MAX1000: a compact and budget-friendly FPGA development board packed with features like memory, user LEDs, push-buttons, and flexible I/O ports. It’s the ideal starting point for anyone wanting to learn about FPGAs and Hardware Description Languages (HDLs).
In this book, you’ll get hands-on with the VHDPlus programming language – a simpler version of VHDL. We’ll work on practical projects using the MAX1000, helping you gain the skills and confidence to unleash your creativity.
Get ready for an exciting journey! You’ll explore a variety of projects that highlight the true power of FPGAs. Let’s turn your ideas into reality and embark on your FPGA adventure – your journey starts now!
Exciting Projects You’ll Find in This Book
Arduino-Driven BCD to 7-Segment Display Decoder
Use an Arduino Uno R4 to supply BCD data to the decoder, counting from 0 to 9 with a one-second delay
Multiplexed 4-Digit Event Counter
Create an event counter that displays the total count on a 4-digit display, incrementing with each button press
PWM Waveform with Fixed Duty Cycle
Generate a PWM waveform at 1 kHz with a fixed duty cycle of 50%
Ultrasonic Distance Measurement
Measure distances using an ultrasonic sensor, displaying the results on a 4-digit 7-segment LED
Electronic Lock
Build a simple electronic lock using combinational logic gates with push buttons and an LED output
Temperature Sensor
Monitor ambient temperature with a TMP36 sensor and display the readings on a 7-segment LED
Downloads
Software
EAGLE – the “Easily Applicable Graphical Layout Editor“ is a professional-grade CAD (computer aided design) software package for the design and drafting of electronic schematics as well as the design and fabrication of printed circuit boards (PCBs).
This publication, the ‘EAGLE Advanced User Guide’ provides the experienced EAGLE user with insight into using some of the more advanced features of EAGLE software. It is not a guide to teach the reader the basic concepts of EAGLE, nor does it discuss the ‘how to’ of the EAGLE interface and the simpler operations and commands of the software. That is the purpose of the author’s previous title EAGLE V6 Getting Started Guide also published by Elektor.
This book is intended as an enduring document covering the more advanced modules, commands, and functions which make up EAGLE. It is hoped that this book will sit on the desk or the bookshelf of the EAGLE user, and provide a quick, succinct reference to assist with more complex applications and uses of EAGLE – an ‘EAGLE User’s Companion’, if you like.
Complementing the EAGLE Advanced User Guide, the EAGLE User Language manual is included in this book in unabridged form, reproduced with permission of CadSoft GmbH.
At the time of writing, the material in this book covers version 7 of the EAGLE software suite.
Mastering the Language and the Development Platform
Many people would like to learn Java but getting started is not easy since programming with Java requires at least two things: mastering the programming language and the development environment. With the help of many examples, this book shows how the language is structured. In addition, it employs the Eclipse development environment as an example of a powerful tool to teach developing Java programs.
In Basics, the first part of the book, you acquire your Java and Eclipse basic knowledge. This part lays the programming foundations, gives you an overview of Java technology, and shows you what is special about object-oriented programming.
In the second part called Java Language, everything revolves around the subtleties of the Java language and this is where the first small Java applications are created, aided by a fine blend of the knowledge part and practical exercises.
Java Technology is both the name and the focus of the third part which also introduces you to the rules to observe when programming, what class libraries are and what advantages they have. In addition, you will learn how to test programs, what algorithms are, and how to program them.
The fourth part, Java Projects, enables you to apply all the previous elements in an application with a graphical user interface. The project shows how to develop a larger application piece by piece with the Eclipse development environment. The Appendix concludes with a section on frequent errors that can occur when working with Eclipse, and a Glossary.
Modular and Scalable Control Systems Using Structured Text
This book offers a structured and practical approach to modern PLC development using object-oriented principles. It is a guide for engineers, programmers, and students seeking to harness the power of object-oriented programming (OOP) in the context of industrial automation with PLCs.
The content focuses on the CODESYS development environment and Structured Text (ST), both of which support modern programming techniques while maintaining compatibility with real-time automation requirements. Through step-by-step demos and instructional examples, it demonstrates how modular, reusable code can enhance development efficiency, simplify ongoing maintenance, and enable scalable and flexible control system architectures.
Key topics include:
Structured Text fundamentals: conditions, loops, arrays, and functions
Object-oriented concepts: classes, methods, and inheritance
Advanced techniques: polymorphism, interfaces, and access control
Modular design with reusable components and structured program flow
Implementation of finite state machines and scalable application design
Built around instructional demos and clear explanations, this book helps readers develop maintainable and modern control software in the CODESYS environment using proven programming techniques.
A Guide to Powerful Programming for Embedded Systems
You must be a well-rounded professional to excel in the ever-evolving, rapidly developing embedded design and programming industry. Simply put, when it comes to electronics design and programming, the more topics you can master, the more you’ll flourish at your workplace and at your personal workbench. This shouldn’t be a surprise, as the line between the skills of a hardware engineer and software engineer is blurring. The former should have a good grasp of programming in order to build efficient systems. The latter should understand the details of the design (whether it’s a physical or virtual application) for which he or she is writing code. Thus, to be successful, a modern professional electronics engineer must have a solid grasp of both hardware design and programming.
Assembly Language Essentials is a matter-of-fact guide to Assembly that will introduce you to the most fundamental programming language of a processor. Unlike other resources about Assembly that focus exclusively on specific processors and platforms, this book uses the architecture of a fictional processor with its own hardware and instruction set. This enables you to consider the importance of Assembly language without having to deal with predetermined hardware or architectural restrictions.
You’ll immediately find this thorough introduction to Assembly to be a valuable resource, whether you know nothing about the language or you have used it before. The only prerequisite is that you have a working knowledge of at least one higher-level programming language, such as C or Java.
Assembly Language Essentials is an indispensible resource for electronics engineering professionals, academics, and advanced students looking to enhance their programming skills. The book provides the following, and more:
An introduction to Assembly language and its functionality
Significant definitions associated with Assembly language, as well as essential terminology pertaining to higher-level programming languages and computer architecture
Important algorithms that may be built into high-level languages, but must be done the “hard way” in Assembly language — multiplication, division, and polynomial evaluation
A presentation of Interrupt Service Routines with examples
A free, downloadable Assembler program for experimenting with Assembly