INHOUDSOPGAWE:
- Stap 1: hardeware benodig
- Stap 2: Hardeware -aansluiting
- Stap 3: Kommunikeer met behulp van I2C -protokol
- Stap 4: Programmering van die module
- Stap 5: Skep lêer en voer die kode uit
- Stap 6: Aansoeke
- Stap 7: Hulpbronne
Video: Tuisautomatisering met framboos Pi met relaybord: 7 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
'N Groot aantal mense wil baie gemak hê, maar teen billike pryse. Ons voel lui om elke aand die huise aan te steek as die son ondergaan en die volgende oggend weer die ligte af te skakel Of om die lugversorger/waaier/verwarmers aan/af te skakel, net soos die weer of kamertemperatuur.
Hier is 'n goedkoop oplossing om hierdie ekstra werk om die toestelle uit te skakel, te vermy. Dit is om u huise teen 'n relatief lae koste te outomatiseer met behulp van eenvoudige plug and play -produkte. Dit werk asof die temperatuur styg of daal, die lugversorger of verwarmer aanskakel. As dit nodig is, sal dit ook help om die ligte van u huis aan te skakel sonder om dit met die hand aan te skakel. En nog vele meer toestelle kan beheer word. Outomatiseer die wêreld. Laat ons u huis begin.
Stap 1: hardeware benodig
Ons sal gebruik maak van:
Framboos Pi
Die Raspberry Pi is 'n alleenstaande Linux -gebaseerde rekenaar. Hierdie klein rekenaar gee 'n groot indruk in die registrasie van krag, wat as elektroniese oefeninge gebruik word, en rekenaarbedrywighede soos sigblaaie, woordverwerking, webblaai en e -pos en speletjies
I2C Shield of I2C Header
Die INPI2 (I2C -adapter) bied die Raspberry Pi 2/3 en I²C -poort vir gebruik met verskeie I2C -toestelle
I2C Relay controller MCP23008
MCP23008 van Microchip is 'n geïntegreerde poortuitbreider wat agt relais deur die I²C -bus beheer. U kan meer relais, digitale I/O, analoog na digitale omsetters, sensors en ander toestelle byvoeg met die geïntegreerde I²C -uitbreidingspoort
MCP9808 Temperatuursensor
Die MCP9808 is 'n temperatuursensor met 'n hoë akkuraatheid wat gekalibreerde, lineêre sensorsignale in digitale I²C-formaat verskaf
Luminansiesensor TCS34903
TCS34903 is 'n kleursensorfamilie -produk wat die waarde van die RGB -komponent van lig en kleur bied
I2C aansluitkabel
I2C-aansluitkabel is 'n 4-bedrade kabel wat bedoel is vir I2C-kommunikasie tussen twee I2C-toestelle wat daardeur gekoppel is
Mikro -USB -adapter
Om Raspberry Pi aan te skakel, benodig ons 'n mikro -USB -kabel
12V -kragadapter vir aflosbord
MCP23008 Relay controller werk op 12V eksterne krag en dit kan voorsien word met 'n 12V Power Adapter
U kan die produk koop deur daarop te klik. U kan ook meer wonderlike materiaal by Dcube Store vind.
Stap 2: Hardeware -aansluiting
Die vereiste verbindings (verwys na die foto's) is soos volg:
- Dit sal werk oor I2C. Neem 'n I2C -skild vir Raspberry pi en koppel dit liggies aan die GPIO -penne van Raspberry Pi.
- Koppel die een kant van die I2C-kabel aan die ingang van TCS34903 en die ander kant aan die I2C-skild.
- Koppel die MCP9808-sensor se in-pot aan die TCS34903-buitekant met behulp van I2C-kabel.
- Koppel die MCP23008 se in-pot aan die MCP9808-sensor met die I2C-kabel.
- Koppel ook die Ethernet-kabel aan die Raspberry Pi. Wi-Fi-router kan ook hiervoor gebruik word.
- Skakel dan die Raspberry Pi aan met 'n mikro -USB -adapter en MCP23008 Relay -bord met 'n 12V -adapter.
- Koppel laastens die lig met die eerste relais en 'n waaier of verwarmer met die tweede relais. U kan die module uitbrei of meer toestelle met die relais verbind.
Stap 3: Kommunikeer met behulp van I2C -protokol
Om Raspberry Pi I2C geaktiveer te maak, gaan voort soos hieronder genoem:
- Tik in die terminale die volgende opdrag om die konfigurasie-instellings oop te maak: sudo raspi-config
- Kies hier 'Gevorderde opsies'.
- Kies "I2C" en klik op "Ja".
- Herlaai die stelsel om dit op te stel volgens die veranderings wat gemaak is met die opdrag herlaai.
Stap 4: Programmering van die module
Die beloning van die gebruik van Raspberry Pi is dat dit u die buigsaamheid bied om te kies in die programmeertaal waarin u wil programmeer om die sensor met Raspberry Pi te koppel. Deur hierdie voordeel van Raspberry Pi te benut, demonstreer ons hier die programmering daarvan in Java.
Om die Java -omgewing op te stel, installeer die "pi4j libraby" vanaf https://pi4j.com/1.2/index.html Pi4j is 'n Java -invoer-/uitvoerbiblioteek vir Raspberry Pi. 'N Maklike en mees voorkeur -metode om die "pi4j te installeer library "is om die onderstaande opdrag direk in u Raspberry Pi uit te voer:
krul -s get.pi4j.com | sudo bash
OF
krul -s get.pi4j.com
invoer com.pi4j.io.i2c. I2CBus; invoer com.pi4j.io.i2c. I2CDevice; invoer com.pi4j.io.i2c. I2CFactory; invoer java.io. IOException; klas MCP23008 {public static void main (String args ) gooi Uitsondering {int status, waarde, waarde1 = 0x00; // Skep I2C -bus I2CBus -bus = I2CFactory.getInstance (I2CBus. BUS_1); // Kry I2C -toestel, MCP23008 I2C -adres is 0x20 (32) I2CDevice device = bus.getDevice (0x20); // Kry I2C -toestel, MCP9808 I2C -adres is 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // Kry I2C -toestel, TCS34903 I2C -adres is 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39); // Stel wagtydregister in = 0xff (255), wagtyd = 2.78 ms TCS34903.write (0x83, (byte) 0xFF); // Aktiveer toegang tot IR -kanaal TCS34903.write (0xC0, (byte) 0x80); // Stel Atime -register op 0x00 (0), maksimum tellings = 65535 TCS34903.write (0x81, (byte) 0x00); // Power ON, ADC enabled, Wait enabled TCS34903.write (0x80, (byte) 0x0B); Draad.slaap (250); // Lees 8 grepe data met duidelike/ir data LSB eerste greep data1 = nuwe greep [8]; // Lees temperatuurdatabyt data = nuwe greep [2]; status = apparaat.lees (0x09); // Alle penne gekonfigureer as OUTPUT device.write (0x00, (byte) 0x00); Draad.slaap (500); terwyl (waar) {MCP9808.read (0x05, data, 0, 2); // Skakel data int temp = ((data [0] & 0x1F) * 256 + (data [1] & 0xFF)); as (temp> 4096) {temp -= 8192; } dubbel cTemp = temp * 0,0625; System.out.printf (“Temperatuur in celsius is: %.2f C %n”, cTemp); TCS34903.lees (0x94, data1, 0, 8); dubbel ir = ((data1 [1] & 0xFF) * 256) + (data1 [0] & 0xFF) * 1,00; dubbel rooi = ((data1 [3] & 0xFF) * 256) + (data1 [2] & 0xFF) * 1,00; dubbel groen = ((data1 [5] & 0xFF) * 256) + (data1 [4] & 0xFF) * 1,00; dubbelblou = ((data1 [7] & 0xFF) * 256) + (data1 [6] & 0xFF) * 1,00; // Bereken illuminansie dubbelbeligting = (-0.32466) * (rooi) + (1.57837) * (groen) + (-0.73191) * (blou); System.out.printf ("Verligting is: %.2f lux %n", verligting); as (illuminansie 30) {waarde = waarde1 | (0x01); } anders {waarde = waarde1 & (0x02); } device.write (0x09, (byte) waarde); Draad.slaap (300); }}}
Stap 5: Skep lêer en voer die kode uit
- Om 'n nuwe lêer te skep waar die kode geskryf/gekopieer kan word, word die volgende opdrag gebruik: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
- Nadat ons die lêer geskep het, kan ons die kode hier invoer.
- Kopieer die kode wat in die vorige stap gegee is en plak dit hier in die venster.
- Druk Ctrl+X en dan "y" om te verlaat.
- Stel dan die kode saam met die volgende opdrag: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
- As daar geen foute is nie, voer die program uit met die onderstaande opdrag: pi4j FILE_NAMEEg. pi4j MCP23008.java
Stap 6: Aansoeke
Met hierdie stelsel kan u die toestelle beheer sonder om na die muurskakelaars te gaan. Dit het uitgebreide vermoëns, aangesien die tye waarop die toestelle in- of uitgeskakel word, outomaties geskeduleer word. Daar is 'n handjievol toepassings van hierdie module, van huise tot nywerhede, hospitale, spoorwegstasies en vele meer plekke, wat op 'n bekostigbare en maklike manier geoutomatiseer kan word deur sy plug-and-play-komponente.
Stap 7: Hulpbronne
Kyk na die onderstaande skakels vir meer inligting oor TSL34903, MCP9808 MCP23008 Relay Controller:
- TSL34903 Gegevensblad
- MCP9808 Gegevensblad
- MCP23008 Gegevensblad
Aanbeveel:
Tuisautomatisering WiFi-ligskakelaar met ESP-01 en aflosmodule met drukknop: 7 stappe
Tuisautomatisering WiFi-ligskakelaar met ESP-01 en relaismodule met drukknop: So in die vorige instruksies het ons 'n ESP-01 met Tasmota met 'n ESP-flitser geprogrammeer en die ESP-01 aan ons wifi-netwerke gekoppel. om 'n ligskakelaar met WiFi of die drukknop aan/uit te skakel.Vir die elektriese werk
IR -tuisautomatisering met relais: 6 stappe (met foto's)
IR Tuisautomatisering Met Relay: Infared Remote Home Automation System (Waarskuwing: Herhaal die projek op eie risiko! Hierdie projek behels hoogspanning)
Internet/wolk -beheerde tuisautomatisering met behulp van Esp8266 (aREST, MQTT, IoT): 7 stappe (met foto's)
Internet/wolk -beheerde tuisautomatisering met behulp van Esp8266 (aREST, MQTT, IoT): ALLE krediete aan http://arest.io/ vir die wolkdiens !! Wolkbedieners en -dienste wat dit moontlik maak, is die aantrekkingskrag van die hedendaagse wêreld … UITSLUITING VAN DIE AFSTANDSGANGER was en is die
Slim musiek in die slaapkamer en in die bad met Framboos Pi - Integrering van multiroom, alarm, knoppiebeheer en tuisautomatisering: 7 stappe
Slim musiek in slaapkamer en bad met Raspberry Pi - Integrering van multiroom, alarm, knoppiebeheer en huishoudelike outomatisering: Vandag wil ons u twee voorbeelde gee van hoe u die Raspberry Pi kan gebruik met ons Max2Play -sagteware vir tuisautomatisering: in die badkamer en slaapkamer . Beide projekte is soortgelyk deurdat musiek uit verskillende bronne deur middel van hoë gehalte getrou gestroom kan word
Goedkoop en effektiewe tuisautomatisering met Framboos Pi: 11 stappe (met foto's)
Goedkoop en effektiewe huishoudelike outomatisering met Raspberry Pi: Ek wou nog altyd ligte draadloos beheer, maar kommersiële opsies is gewoonlik duur. Philips Hue -ligte kos ongeveer $ 70, en ligte met WiFi is ook duur. Hierdie handleiding sal u vertel hoe u tot vyf ligte/l kan beheer