35 projecten met Raspberry Pi en wireless Arduino
Internet of Things (alles aan het internet) is een trend die zich niet meer laat keren. We willen alles in huis met onze mobiel of tablet doen, van Facebook tot TV kijken, van lichten bedienen tot de temperatuur in de gaten houden.
In dit boek laten we in 35 leuke en handige projecten zien hoe u op eenvoudige wijze zelf een Internet of Things systeem kunt aanleggen. We gaan in op de hardware (de perfecte combinatie van Raspberry Pi en Arduino) en de software om bediening via internet mogelijk te maken.
We maken gebruik van Wi-Fi en radioverbindingen zodat er geen kabels dwars door uw huis hoeven. Wanneer u deze projecten maakt heeft u een compleet Internet of Things systeem waarmee u van alles in uw huis kunt bedienen en bekijken. Bijvoorbeeld of er post in de brievenbus ligt en of de auto in de garage staat. U kunt op vanaf de bank het licht aandoen en het alarm bedienen. Door de heldere uitleg kunt u de projecten eenvoudig aanpassen om bijvoorbeeld uw koffiezetautomaat of tv op afstand aan te zetten. Via de index vindt u gemakkelijk creatieve projecten die als voorbeeld kunnen dienen, zodat u zelfstandig alles met het internet kunt verbinden.
The Internet of Things (IoT) is a new concept in intelligent automation and intelligent monitoring using the Internet as the communications medium. The “Things” in IoT usually refer to devices that have unique identifiers and are connected to the Internet to exchange information with each other. Such devices usually have sensors and/or actuators that can be used to collect data about their environments and to monitor and control their environments. The collected data can be processed locally or it can be sent to centralized servers or to the cloud for remote storage and processing. For example, a small device at the size of a matchbox can be used to collect data about the temperature, relative humidity and the atmospheric pressure. This data can be sent and stored in the cloud. Anyone with a mobile device can then access and monitor this data at any time and from anywhere on Earth provided there is Internet connectivity. In addition, users can for example, adjust the central heating remotely using their mobile devices and accessing the cloud.
This book is written for students, for practising engineers and for hobbyists who want to learn more about the building blocks of an IoT system and also learn how to setup an IoT system using these blocks.
Chapter 1 is an introduction to the IoT systems. In Chapter 2, the basic concepts and possible IoT architectures are discussed. The important parts of any IoT system are the sensors and actuators and they are described briefly in Chapter 3. The devices in an IoT system usually communicate with each other and the important aspect of IoT communication is covered in Chapter 4. Chapter 5 proceeds with the features of some of the commonly used development kits. One of these, the Clicker 2 for PIC18FJ manufactured by mikroElektronika, can be used as a processor in IoT systems and its features are described in detail in Chapter 6. A popular microcontroller C language, mikroC Pro for PIC gets introduced in Chapter 7. Chapter 8 covers the use of a click board with the Clicker 2 for PIC18FJ development kit. Similarly, the use of a sensor click board is described as a project in Chapter 9, and an actuator board in Chapter 10. Chapters 11 and 12 cover Bluetooth and Wi-Fi technologies in microcontroller based systems, and the remaining chapters of the book demo the creation of a simple Wi-Fi based IoT system with cloud-based data storage.
This book has been written with the assumption that the reader has taken a course on digital logic design and has been exposed to writing programs using at least one high-level programming language. Knowledge of the C programming language will be very useful. Also, familiarity with at least one member of the PIC series of microcontrollers (e.g. PIC16 or PIC18) will be an advantage. The knowledge of assembly language programming is not required because all the projects in the book are based on using the C language. If you are a total beginner in programming you can still access the e-book, but first you are advised to study introductory books on microcontrollers.
Dit boek gaat over de Raspberry Pi, en over het programmeren in C. De programmeertaal C en het besturingssysteem Linux (Raspbian) passen uitstekend bij elkaar. Alles wat we nodig hebben om in C te programmeren wordt meegeleverd met het besturingssysteem van de Raspberry Pi.In dit boek leert u hoe C gebruikt wordt met de Raspberry Pi, en krijgt u een overzicht van de taal.WiringPi is een softwarebibliotheek voor de Raspberry Pi waarmee C hardware-uitbreidingen kan benaderen. Die bibliotheek wordt gebruikt om sensoren uit te lezen en om extra hardware aan te sturen. U gaat experimenteren met LED’s en schakelaars, met motoren, met geluid en met sensoren voor temperatuur, luchtdruk, en luchtvochtigheid.Met een Linux-systeem kunt u een webserver maken, inclusief interactieve websites met PHP en WiringPi. Daarom is ook een beknopt overzicht van HTML en PHP in het boek opgenomen. In de voorbeelden worden sensoren via het web uitgelezen en worden apparaten bestuurd. In het laatste voorbeeld wordt een temperatuurlogger gemaakt. Die meet elk kwartier de temperatuur. Een tabel met de meetwaarden kan via het web worden uitgelezen.Alle voorbeeldprogramma’s kunnen worden gedownload van de website van Elektor.
Het is altijd interessant te weten wat er zich onder de motorkap afspeelt, wanneer er iets met uw auto niet in orde is. Het in de auto aanwezige diagnosesysteem helpt de fout te lokaliseren en de reparatiekosten te drukken. Zo hoeft u niet telkens wanneer een waarschuwingslampje gaat branden meteen naar de garage te gaan. Slechts met een passende interface voor het uitlezen van de foutcodes en de talloze meetwaarden van elektronische sensoren valt bij moderne auto's nog vast te stellen waar zich een fout voordoet. Naast een praktijkgerichte beschrijving van moderne diagnosemogelijkheden voor de ambitieuze autoliefhebber wordt in dit boek een goedkope zelfbouw-diagnoseinterface beschreven, en kunt u lezen wat er zoal aan kant-en-klare oplossingen op de markt is. Een ander zelfbouwproject betreft een multifunctioneel instrument dat continu en zelfstandig relevante meetwaarden in de auto aangeeft. Het onderwerp OBD (On Board Diagnose) wordt verder uitgediept door een uitvoerige beschrijving van de gangbare diagnoseprotocollen conform ISO 9141, ISO 14230 (K-lijn) en SAE J1850 (PWM, VPW). Oudere voertuigen van het Volkswagenconcern kunnen via KW 1281 aan de tand worden gevoeld en zelfs opnieuw worden geconfigureerd. Gewapend met deze kennis bent u na lezing van dit boek in staat eigen diagnose-toepassingen te ontwikkelen.
The SparkFun Thing Plus Matter is the first easily accessible board of its kind that combines Matter and SparkFun’s Qwiic ecosystem for agile development and prototyping of Matter-based IoT devices. The MGM240P wireless module from Silicon Labs provides secure connectivity for both 802.15.4 with Mesh communication (Thread) and Bluetooth Low Energy 5.3 protocols. The module comes ready for integration into Silicon Labs' Matter IoT protocol for home automation.
What is Matter? Simply put, Matter allows for consistent operation between smart home devices and IoT platforms without an Internet connection, even from different providers. In doing so, Matter is able to communicate between major IoT ecosystems in order to create a single wireless protocol that is easy, reliable, and secure to use.
The Thing Plus Matter (MGM240P) includes Qwiic and LiPo battery connectors, and multiple GPIO pins capable of complete multiplexing through software. The board also features the MCP73831 single-cell LiPo charger as well as the MAX17048 fuel gauge to charge and monitor a connected battery. Lastly, a µSD card slot for any external memory needs is integrated.
The MGM240P wireless module is built around the EFR32MG24 Wireless SoC with a 32-bit ARM Cortext-M33 core processor running at 39 MHz with 1536 kb Flash memory and 256 kb RAM. The MGM240P works with common 802.15.4 wireless protocols (Matter, ZigBee, and OpenThread) as well as Bluetooth Low Energy 5.3. The MGM240P supports Silicon Labs' Secure Vault for Thread applications.
Specifications
MGM240P Wireless Module
Built around the EFR32MG24 Wireless SoC
32-bit ARM-M33 Core Processor (@ 39 MHz)
1536 kB Flash Memory
256 kB RAM
Supports Multiple 802.15.4 Wireless Protocols (ZigBee and OpenThread)
Bluetooth Low Energy 5.3
Matter-ready
Secure Vault Support
Built-in Antenna
Thing Plus Form-Factor (Feather-compatible):
Dimensions: 5.8 x 2.3 cm (2.30 x 0.9")
2 Mounting Holes:
4-40 screw compatible
21 GPIO PTH Breakouts
All pins have complete multiplexing capability through software
SPI, I²C and UART interfaces mapped by default to labeled pins
13 GPIO (6 labeled as Analog, 7 labeled for GPIO)
All function as either GPIO or Analog
Built-in-Digital to Analog Converter (DAC)
USB-C Connector
2-Pin JST LiPo Battery Connector for a LiPo Battery (not included)
4-Pin JST Qwiic Connector
MC73831 Single-Cell LiPo Charger
Configurable charge rate (500 mA Default, 100 mA Alternate)
MAX17048 Single-Cell LiPo Fuel Gauge
µSD Card Slot
Low Power Consumption (15 µA when MGM240P is in Low Power Mode)
LEDs:
PWR – Red Power LED
CHG – Yellow battery charging status LED
STAT – Blue status LED
Reset Button:
Physical push-button
Reset signal can be tied to A0 to enable use as a peripheral device
Downloads
Schematic
Eagle Files
Board Dimensions
Hookup Guide
Datasheet (MGM240P)
Fritzing Part
Thing+ Comparison Guide
Qwiic Info Page
GitHub Hardware Repo
De RP2040 bevat twee ARM Cortex-M0+ processoren (tot 133MHz) en beschikt over: 264 kB ingebed SRAM in zes banken 6 speciale IOs voor SPI Flash (met ondersteuning voor XIP) 30 multifunctionele GPIOs: Specifieke hardware voor veelgebruikte periferie Programmeerbare IO voor uitgebreide periferie-ondersteuning Vier 12-bit ADC-kanalen met interne temperatuursensor (tot 0,5 MSa/s) USB 1.1 Host/Device-functionaliteit De RP2040 wordt ondersteund met C/C++ en MicroPython cross-platform ontwikkelomgevingen, inclusief eenvoudige toegang tot runtime debugging. Het heeft een UF2 boot ROM en floating-point routines ingebouwd in de chip. Terwijl de chip een groot intern RAM geheugen heeft, bevat de kaart een extra 16MB extern QSPI flash geheugen om programmacode op te slaan. Eigenschappen Raspberry Pi Foundation's RP2040 microcontroller 16MB QSPI Flash Geheugen JTAG PTH pinnen Thing Plus (of Feather) Form-Factor: 18 x Multifunctionele GPIO-pennen Vier 12-bit ADC kanalen met een interne temperatuursensor (500kSa/s) Tot acht 2-kanaals PWM Tot twee UART's Tot twee I2C-bussen Tot twee SPI-bussen USB-C-aansluiting: USB 1.1 Host/Device-functionaliteit 2-pins JST-aansluiting voor een LiPo-batterij (niet meegeleverd): 500mA laadcircuit Qwiic Aansluiting Druktoetsen: Boot Reset LEDs: PWR - Rode 3,3V voedingsindicatie CHG - Gele batterij laadindicatie 25 - Blauwe status/test-LED (GPIO 25) WS2812 - Adresseerbare RGB-LED (GPIO 08) Vier montagegaten: 4-40 schroefcompatibel Afmetingen: 2,3' x 0,9' RP2040 Kenmerken Dubbele Cortex M0+ processoren, tot 133 MHz 264 kB ingebed SRAM in 6 banken 6 speciale IOs voor QSPI flash, met ondersteuning voor execute in place (XIP) 30 programmeerbare IOs voor uitgebreide periferie-ondersteuning SWD-interface Timer met 4 alarmen Real-time clock (RTC) USB 1.1 Host/Device-functionaliteit Ondersteunde programmeertalen MicroPython C/C++
37 Natuurkunde projecten met Arduino (E-Book) Dit boekje is gericht op leerlingen en natuurkunde docenten in het voortgezet onderwijs. Met voorbeelden op verschillende gebieden van de fysica, geeft het aan hoe een populair microprocessor platform als Arduino toegepast kan worden in het natuurkunde practicum. We passen Arduino onder andere toe als nauwkeurig meetinstrument, zodat metingen uitgewerkt kunnen worden in een spread sheet. Hoewel enige handigheid niet overbodig is, kunnen de beschreven experimenten kunnen ook uitstekend thuis worden uitgevoerd. In dat opzicht wil dit boek met name bij de jeugd de interesse wekken voor de toepassing van microprocessoren. In de hobbysfeer is dat niet alleen een zinvolle tijdsbesteding, maar bovenal interessant en leuk. Veiligheid staat uiteraard voorop bij het doen van experimenten. Energie, licht en warmte zijn onuitputtelijke bronnen, maar ze kunnen ook gevaar opleveren. Voor dit boek geldt dan ook het motto: Eerst denken, dan doen. Bijbehorende hardware pakket binnenkort leverbaar
De mens is van nature uitgerust met sensoren voor geluid, licht, geur, smaak en gevoel. Zintuigen die met elektronica slechts ten dele gekopieerd kunnen worden. Met de Elektor sensorkit kunnen we wel aardig in de buurt komen. Sensoren kunnen elektronica aansturen, maar ze kunnen ons ook van informatie voorzien. Daarom vormt niet alleen het meten van grootheden, maar ook het zichtbaar maken ervan via de Arduino seriële monitor een niet onbelangrijk deel van dit boek. De microprocessor ATtiny85 die de Arduino-taal begrijpt, maakt het experimenteren met sensoren gemakkelijk en goedkoop. We zullen niet snel een Arduino-kaartje vast solderen in een permanente opstelling. Bij een achtpotige ATtiny zal dat geen schuldgevoel opleveren. Dat neemt niet weg dat alle sketches gewoon op elk Arduino-board draaien met mogelijk hier en daar een aanpassing van pennummers omdat die kunnen verschillen met reguliere Arduino-boards. We zullen uitgebreid aandacht besteden aan het programmeren van de ATtiny. Veel schakelingen zijn bruikbaar in het natuurkundepracticum op school of voor bedrijfsmatige toepassingen. Maar de nadruk ligt toch wel op de (beginnende) elektronicahobbyist die zijn vrije tijd op een leuke maar vooral ook nuttige manier wil besteden. Want meer dan ooit tevoren heeft techniek de toekomst.
De mens is van nature uitgerust met sensoren voor geluid, licht, geur, smaak en gevoel. Zintuigen die met elektronica slechts ten dele gekopieerd kunnen worden. Met de Elektor sensorkit kunnen we wel aardig in de buurt komen. Sensoren kunnen elektronica aansturen, maar ze kunnen ons ook van informatie voorzien. Daarom vormt niet alleen het meten van grootheden, maar ook het zichtbaar maken ervan via de Arduino seriële monitor een niet onbelangrijk deel van dit boek. De microprocessor ATtiny85 die de Arduino-taal begrijpt, maakt het experimenteren met sensoren gemakkelijk en goedkoop. We zullen niet snel een Arduino-kaartje vast solderen in een permanente opstelling. Bij een achtpotige ATtiny zal dat geen schuldgevoel opleveren. Dat neemt niet weg dat alle sketches gewoon op elk Arduino-board draaien met mogelijk hier en daar een aanpassing van pennummers omdat die kunnen verschillen met reguliere Arduino-boards. We zullen uitgebreid aandacht besteden aan het programmeren van de ATtiny. Veel schakelingen zijn bruikbaar in het natuurkundepracticum op school of voor bedrijfsmatige toepassingen. Maar de nadruk ligt toch wel op de (beginnende) elektronicahobbyist die zijn vrije tijd op een leuke maar vooral ook nuttige manier wil besteden. Want meer dan ooit tevoren heeft techniek de toekomst.
Kenmerken
Stalen behuizing: Hoogwaardig staal met mooie zandtextuur afwerking
Klein LCD scherm: Het kan het IP-adres, de hostnaam, de uptime en ook andere informatie weergeven. PiKVM OS bevat een set bibliotheken waarmee je bijna alles kunt weergeven met behulp van Python.
Ventilator voor actieve koeling: Deze beschermt je apparaat tegen oververhitting. PiKVM kan de snelheid van de ventilator regelen met PWM, zodat hij niet de hele tijd op maximale snelheid draait.
Plastic behuizing voor het LCD scherm: Dit kleine stukje plastic is verantwoordelijk voor een stevige ondersteuning van het LCD scherm in de behuizing. Injection molding EAS gebruikt voor het maken van die schermhouder.
Montage hardware: Een set schroeven en moeren om de kast in elkaar te zetten en de ventilator te monteren.
Dit boek gaat over de Raspberry Pi, en over het programmeren in C. De programmeertaal C en het besturingssysteem Linux (Raspbian) passen uitstekend bij elkaar. Alles wat we nodig hebben om in C te programmeren wordt meegeleverd met het besturingssysteem van de Raspberry Pi.In dit boek leert u hoe C gebruikt wordt met de Raspberry Pi, en krijgt u een overzicht van de taal.WiringPi is een softwarebibliotheek voor de Raspberry Pi waarmee C hardware-uitbreidingen kan benaderen. Die bibliotheek wordt gebruikt om sensoren uit te lezen en om extra hardware aan te sturen. U gaat experimenteren met LED’s en schakelaars, met motoren, met geluid en met sensoren voor temperatuur, luchtdruk, en luchtvochtigheid.Met een Linux-systeem kunt u een webserver maken, inclusief interactieve websites met PHP en WiringPi. Daarom is ook een beknopt overzicht van HTML en PHP in het boek opgenomen. In de voorbeelden worden sensoren via het web uitgelezen en worden apparaten bestuurd. In het laatste voorbeeld wordt een temperatuurlogger gemaakt. Die meet elk kwartier de temperatuur. Een tabel met de meetwaarden kan via het web worden uitgelezen.Alle voorbeeldprogramma’s kunnen worden gedownload van de website van Elektor.
,
van Saad Imtiaz
SparkFun Thing Plus Matter (MGM240P): Een veelzijdig Matter gebaseerd IoT Ontwikkelboard (Review)
De SparkFun Thing Plus Matter - MGM240P is a veelzijdig ontwikkelboard dat rijk is aan features en ontworpen is voor het ontwikkelen van Matter-gebaseerde IoT...