
Tartalomjegyzék:
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:48


Az IOT123 BRICKS DIY moduláris egységek, amelyeket más IOT123 BRICKS -sel lehet összetörni, hogy funkcionalitást adjunk egy csomóponthoz vagy hordhatóhoz. Ezek alapja a hüvelyk négyzet alakú, kétoldalas protoboards, amelyek átmenő lyukakkal vannak összekötve.
Számos ilyen TÉGLY várhatóan több csomóponton (Master MCU -k - ESP8266 vagy ATTINY84) lesz egy webhelyen. Az MCU -nak nincs szüksége előzetes ismeretekre az érzékelők céljáról vagy a szoftver igényeiről. Keresi az I2C csomópontokat, majd minden slave -től tulajdonságkiírást (érzékelőadatokat) kér. Ezek a BRICK -ek 5,0 V -ot, 3,3 V -ot és egy másik személyre szabható AUX -vezetéket szolgáltatnak.
Ez az I2C KY019 BRICK az első SZÍNÉSZ, és egy olvasási/írási tulajdonsággal rendelkezik:
Váltás (igaz/hamis)
A Keyes típusú érzékelő téglákat először absztrahálják, mivel vitaminokat tartalmaznak (extra komponensek szükségesek), és viszonylag szuperek (37 -et vettem 10AUD -ért). Más kártyákat/áramköröket is bevezetnek az I2C BRICKS -be.
Az ATTINY85 melletti átmenő lyukakat kihasználatlanul hagytuk, hogy lehetővé tegyük a pogo tűs programozást, miközben a DIP8 forrasztva van a NYÁK-hoz. Egy további absztrakció, a BRICKS -ek kis hengerekbe csomagolása, amelyek D1M WIFI BLOCK hubhoz csatlakoznak, és az értékeket egy MQTT szerverre szivattyúzzák.
Lépés: Anyagok és eszközök



Van egy teljes Bill of Material and Sourcing lista.
- KY-019 relé (1)
- ATTINY85 20PU (1)
- 1 "kétoldalas protoboard (1)
- Férfi fejléc 90º (3P, 3P)
- Csatlakozó vezeték (~ 7)
- Forrasztás és vas (1)
2. lépés: Készítse elő az ATTINY85 -öt



MEGJEGYZÉS: Ha Crouton integrációt kíván használni, kérjük, használja a könyvtárat innen, és használja az "attiny_ky019" telepített példát.
AttinyCore szükséges a Boards Manager -től. Írjon rendszerbetöltőt "EEPROM Retained", "8mHZ Internal" (az összes konfiguráció fent látható).
A kódtár itt található.
A könyvtár ZIP -címe itt található.
Utasítások a "ZIP könyvtár importálásához" itt.
A könyvtár telepítése után megnyithatja az "attiny_ky019" példát.
A firmware ATTINY85 -re történő feltöltéséhez további részleteket találhat az alábbi utasításokban:
www.instructables.com/id/Programming-the-A…
www.instructables.com/id/How-to-Program-AT…
www.instructables.com/id/How-to-program-th…
www.instructables.com/id/Programming-the-A…
www.instructables.com/id/Programming-an-At…
A legjobb, ha a folytatás előtt kipróbálja a kenyérsávot.
Ha rendelkezik ASSIMILATE SENSORS -szal, győződjön meg arról, hogy a slave -cím eltérő az SENSOR/MCU Host kombinációban, azaz minden relé -szereplő azonos címmel rendelkezhet, amíg csak egy relé -szereplő van egy MCU -n/csomóponton.
3. lépés: Szerelje össze az áramkört




- Az elülső oldalon helyezze be az ATTINY85 (1), a 3P 90 fokos hüvelyes fejrészeket (2) (3), és a hátoldalon forrasztja le az alkatrészeket.
- A hátsó részen nyomon kövessen egy sárga vezetéket a SÁRGA1 -től a SÁRGA2 -ig, és forrasztja.
- A hátulján nyomon kell követni egy kék vezetéket a BLUE1 -től a BLUE2 -ig, és forrasztani.
- A hátoldalon nyomjon egy zöld vezetéket a ZÖLD1 -től a ZÖLD2 -ig és forrasztja.
- A hátoldalon nyomjon egy fekete vezetéket a BLACK1 -től a BLACK2 -ig, és forrasztja.
- A hátoldalon nyomjon egy fekete vezetéket a BLACK3 -tól a BLACK4 -ig, és forrasztja.
- A hátoldalon nyomjon egy piros vezetéket a RED1 és a RED2 között, és forrasztjon.
- A hátoldalon nyomon kövessen egy piros vezetéket a RED3 -tól a RED4 -ig, és forrasztja.
A relét most közvetlenül a csapjain keresztül a NYÁK -ra vagy vezetékeken keresztül lehet csatlakoztatni a tűszerződésben szereplő pontokhoz.
4. lépés: Tesztelés



Számos ilyen TÉGLY várhatóan több csomóponton (MCU - ESP8266 vagy ATTINY84) lesz egy környezetben. Ez egy egység teszt: I2C parancsokat küld az UNO -tól az ATTINY -nak, amely megnyitja vagy bezárja a relét.
Korábban építettünk egy I2C SHIELD -t az Arduino számára.
Ha inkább panírozni szeretne:
- Csatlakoztassa az 5,0 V -ot UNO -n a BRICK VCC -jéhez.
- Csatlakoztassa a GND -t az UNO -n a GND -hez a BRICK -en.
- Csatlakoztassa az UN5 A5 -öt a BRICK SCL -hez.
- Csatlakoztassa az UNO A4 -et a BRICK SDA -hoz.
- Csatlakoztasson egy 4K7 felhúzó ellenállást az SDA-ból a VCC-be.
- Csatlakoztasson egy 4K7 felhúzó ellenállást SCL-ről VCC-re.
A teszt futtatása
- Csatlakoztassa UNO -ját a Dev PC -hez USB -n keresztül.
- Töltse fel a kódot az UNO -ba.
- Nyissa meg az Arduino konzolt. Válassza a 9600 baud lehetőséget (indítsa újra az UNO -t, és szükség esetén nyissa meg újra a konzolt).
- A slave címe kinyomtatódik a konzolra.
- Mikor írja be a küldési mezőbe 2 1 (tehát 12 2 1), és a relé bekapcsol.
- Amikor beírja a küldési mezőbe 2 0 (tehát 12 2 0), és a relé kikapcsol.
I2C BRICK adhoc parancsok rabszolgákhoz UNO mester
#befoglalni |
const bájt _száma = 32; |
char _fogadott_száma [_száma_száma]; // tömb a fogadott adatok tárolására |
logikai _has_new_data = hamis; |
voidsetup () { |
Sorozat.kezdet (9600); |
Sorozat.println (); |
Serial.println ("ASSIMILATE IOT ACTOR/SENSOR EEPROM EDITOR"); |
Serial.println ("biztosítsa az újsor kiválasztását a konzol ablakában"); |
Sorozat.println (); |
Serial.println ("1. CÍM METADATAVÉTEL MEGFIGYELÉSE N/A (M2M -NEK)"); |
Serial.println ("2. CÍM ACTOR COMMAND"); |
Sorozat.println (); |
Serial.println ("CÍMEK A BUSZON:"); |
scan_i2c_addresses (); |
Sorozat.println (); |
Serial.println (""); |
} |
voidscan_i2c_addresses () { |
int eszköz_szám = 0; |
(bájtcím = 8; cím <127; cím ++) |
{ |
Wire.beginTransmission (cím); |
const bájt hiba = Wire.endTransmission (); |
ha (hiba == 0) |
{ |
Serial.println (cím); |
} |
} |
} |
voidloop () { |
recv_with_end_marker (); |
send_to_i2c (); |
} |
voidrecv_with_end_marker () { |
statikus bájt ndx = 0; |
char end_marker = '\ n'; |
char rc; |
while (Serial.available ()> 0 && _has_new_data == false) { |
rc = Sorozat.olvasás (); |
if (rc! = end_marker) { |
_fogadott_táblák [ndx] = rc; |
ndx ++; |
if (ndx> = _száma_száma) { |
ndx = _száma - 1; |
} |
} |
más { |
_received_chars [ndx] = '\ 0'; // fejezze be a karakterláncot |
ndx = 0; |
_has_new_data = igaz; |
} |
} |
} |
voidsend_to_i2c () { |
char param_buf [16]; |
const Karakterlánc kapott_string = Karakterlánc (_fogadott_karakterek); |
ha (_van_új_adata == igaz) { |
int idx1 = fogadott_string.indexOf (''); |
Karakterlánc cím = kapott_string.substring (0, idx1); |
int address_int = address.toInt (); |
if (cím_int <8 || cím_int> 127) { |
Serial.println ("ÉRVÉNYTLEN CÍM BEMENET:"); |
Serial.println (cím); |
Visszatérés; |
} |
int idx2 = fogadott_string.indexOf ('', idx1+1); |
Karakterlánc kód; |
ha (idx2 == -1) { |
kód = kapott_string.substring (idx1+1); |
}más{ |
kód = kapott_string.substring (idx1+1, idx2+1); |
} |
int code_int = code.toInt (); |
if (code_int <0 || code_int> 5) { |
Serial.println ("ÉRVÉNYTELEN KÓD BEMENET:"); |
Serial.println (kód); |
Visszatérés; |
} |
bool has_parameter = idx2> -1; |
String paraméter; |
if (has_parameter) { |
paraméter = kapott_string.substring (idx2 + 1, idx2 + 17); // max. 16 karakter |
if (paraméter.length () <1) { |
Serial.println ("PARTAMETER MIN. LENGTH 1"); |
_has_new_data = hamis; |
Visszatérés; |
} |
}más{ |
if (code_int> 1) { |
Serial.println ("PARAMÉTER SZÜKSÉGES!"); |
_has_new_data = hamis; |
Visszatérés; |
} |
} |
Sorozat.println (); |
Serial.print ("input orig ="); |
Soros.println (fogadott_string); |
Serial.print ("address ="); |
Serial.println (cím); |
Serial.print ("code ="); |
Serial.println (kód); |
Serial.print ("paraméter ="); |
Serial.println (paraméter); |
// KÜLDÉS I2C |
Wire.beginTransmission (cím_int); |
Wire.write (code_int); |
if (has_parameter) { |
paraméter.trim (); |
strcpy (param_buf, paraméter.c_str ()); |
Wire.write (param_buf); |
} |
Wire.endTransmission (); |
Sorozat.println (); |
Serial.println ("ELKÜLDETT I2C!"); |
Sorozat.println (); |
Serial.println (""); |
_has_new_data = hamis; |
} |
} |
Tekintse meg a rawuno_i2c_command_input.ino webhelyet, amelyet a GitHub ❤ üzemeltet
5. lépés: Következő lépések




A következő ASSIMILATE ACTOR: KY019, amely ezt a téglát használja, automatikusan konfigurálja a Crouton-t az ATTINY85-ben már telepített metaadatokon keresztül. A Croutonnak küldött JSON csomag az ICOS10 legújabb firmware -jén keresztül kerül elküldésre. A Proof-of-concept elvégezhető egy közönséges ESP8266-on, ha a konstrukció egyelőre túl sok.
A tesztelés során használt UNO vázlat funkciója egy új slave -cím mentése az EEPROM -ba az ATTINY85 -en, ha ütközik a cél I2C buszon.
Néhány vázlat hozzáadásra került, de különböző módokon lehet vezetni a downstream áramkört, attól függően, hogy mit szeretne elérni, ezért ezt meghagyom nektek:)
Ajánlott:
Kattintson a Brick Switch elemre a Makey Makey számára: 4 lépés (képekkel)

Kattintson a Brick Switch for Makey Makey elemre: Ez a 3D nyomtatott kapcsoló lehetővé teszi a felhasználó számára, hogy egy Makey Makey -t "ujjcsúszdá" alakítson. a " kattintáshoz " játékban, vagy jobb/bal nyilak segítségével görgetheti a prezentációkat. Jobb és bal oldali csatlakozók hozzáadása a
IOT123 - D1M BLOCK - 2xAMUX összeszerelés: 7 lépés (képekkel)

IOT123 - D1M BLOCK - 2xAMUX összeszerelés: A D1M BLOCKS tapintható tokokat, címkéket, polaritási útmutatókat és kitöréseket ad a népszerű Wemos D1 Mini SOC/Shields/Clones -hoz. Az ESP8266 chip egyik problémája az, hogy csak egy analóg IO tű áll rendelkezésre. Ez az útmutató bemutatja, hogyan kell összeszerelni a 2xA
IOT123 - D1M BLOCK - RFTXRX Összeszerelés: 8 lépés

IOT123 - D1M BLOCK - RFTXRX összeszerelés: A D1M BLOCKS tapintható tokokat, címkéket, polaritási útmutatókat és kitöréseket ad a népszerű Wemos D1 Mini SOC/Shields/Clones -hoz. Az RF adók/vevők lehetővé teszik az ESP8266 számára a meglévő otthoni/ipari automatizálás elérését. Ez a burkolat 433
IOT123 - ASSZIMILÁT SZÍNÉSZ: KY019: 4 lépés

IOT123 - ASSZIMILÁCIÓS SZÍNÉSZ: KY019: 5V -os TIL vezérlőjellel rendelkezik, amely képes szabályozni a DC / AC jelet. Ez a konstrukció az I2C KY019 BRICK -en alapul. Ha 2 csatornára van szüksége, javaslom, hogy cserélje ki ezt a színészt a 2CH RELAY BRICK -re. Az asszimilációs színészek/érzékelők környezeti szereplők/érzékelők
IOT123 - 5PIN ATTINY85 NRF24L01 BRICK: 4 lépés

IOT123 - 5PIN ATTINY85 NRF24L01 BRICK: FRISSÍTÉS: Ez a beállítás nagyrészt tudományos vagy a szoftver/tápegység tesztelésének alapja. Még akkor sem, ha a PB5 RESET módban le van tiltva, nem olvassa ki pontosan az értékeket az analogRead használatával: ez az érzékelő leolvasásának fő felhasználási módja. Megvizsgálja az ATTINY84 beállítást