Tartalomjegyzék:

IOT123 - I2C HEARTBEAT BRICK: 6 lépés
IOT123 - I2C HEARTBEAT BRICK: 6 lépés

Videó: IOT123 - I2C HEARTBEAT BRICK: 6 lépés

Videó: IOT123 - I2C HEARTBEAT BRICK: 6 lépés
Videó: Zaful Bikini HAUL 2018 | TRY ON | Valerie pac 2024, November
Anonim
IOT123 - I2C HEARTBEAT BRICK
IOT123 - I2C HEARTBEAT BRICK
IOT123 - I2C HEARTBEAT BRICK
IOT123 - I2C HEARTBEAT BRICK
IOT123 - I2C HEARTBEAT BRICK
IOT123 - I2C HEARTBEAT BRICK

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 HEARTBEAT BRICK jelzi, hogy az ATTINY slave él -e, az I2C forgalom is, és rendelkezik egy tulajdonsággal:

STATUS ("ÉLŐ")

A PB1 (fehér) ATTINY egészséget jelez.

A PB3 (sárga) átvált a mester I2C kéréseire.

A PB4 (narancssárga) átvált az I2C vétellel a mestertől.

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

Anyagok és eszközök
Anyagok és eszközök
Anyagok és eszközök
Anyagok és eszközök
Anyagok és eszközök
Anyagok és eszközök
Anyagok és eszközök
Anyagok és eszközök

Van egy teljes Bill of Material and Sourcing lista.

  1. Papír NYÁK (7 x 7 lyuk)
  2. LED -ek (piros, zöld, kék)
  3. Ellenállások (3 off 1K)
  4. ATTINY85 20PU (1)
  5. 1 "kétoldalas protoboard (1)
  6. Férfi fejléc 90º (3P, 3P)
  7. Férfi fejléc (2P, 2P)
  8. Jumper shunt (1)
  9. Csatlakozó vezeték (~ 7)
  10. Forrasztás és vas (1)

2. lépés: Készítse elő az ATTINY85 -öt

Készítse elő az ATTINY85 -öt
Készítse elő az ATTINY85 -öt
Készítse elő az ATTINY85 -öt
Készítse elő az ATTINY85 -öt
Készítse elő az ATTINY85 -öt
Készítse elő az ATTINY85 -öt
Készítse elő az ATTINY85 -öt
Készítse elő az ATTINY85 -öt

MEGJEGYZÉS: Ha Crouton integrációt szeretne, használja a könyvtárat innen, és használja az "attiny_heartbeat" 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_heartbeat" 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-….

www.instructables.com/id/How-to-Program-A…

www.instructables.com/id/Programming-the-…

www.instructables.com/id/How-to-Program-A…

www.instructables.com/id/Programming-the-…

A legjobb, ha a folytatás előtt kipróbálja a kenyérsávot.

Ha van ASSIMILATE SENSORS, győződjön meg arról, hogy a slave cím eltér az SENSOR/MCU Host kombinációról, pl. az összes közvetítő szereplő ugyanazzal a címmel rendelkezhet, amíg csak egy relé szereplője van egy MCU/csomóponton.

3. lépés: Az indikátorok összeszerelése

Az indikátorok összeszerelése
Az indikátorok összeszerelése
Az indikátorok összeszerelése
Az indikátorok összeszerelése
Az indikátorok összeszerelése
Az indikátorok összeszerelése

A mutatók teljes mértékben személyre szabhatók. A főáramkör eseményjeleit szívverésnek tekintik. Ehhez a felépítéshez LED -es kijelzőket fogunk használni; a build használhat reléket (igen, a VCC ki van törve) vagy más vizuális/jel alapú jelzőt. Az ellenállás értékei a személyes preferenciáktól függenek, attól függően, hogy milyen fényesre szeretné őket.

  1. A tetején helyezzen be egy kék LED -et a PIROS1 (+) és a FEKETE1 (G) közé, és forrasztjon alul.
  2. Az alsó részen hajlítsa meg a vezetéket a RED1 -től, hogy érintse az SILVER8 rézpárnáját, és vágja le.
  3. Alul, a forrasztás feletti BLACK1 vágókábel.
  4. A tetején helyezzen be egy zöld LED -et a RED2 (+) és BLACK2 (G) közé, és forrasztjon alul.
  5. Az alsó részen hajlítsa meg a vezetéket a RED2 -ből, hogy érintse az SILVER9 rézpárnáját, és vágja le.
  6. Az alsó részen, a BLACK2 vágóvezetéke a forrasztás felett.
  7. A tetején helyezzen be egy piros LED -et a RED3 (+) és BLACK3 (G) közé, és forrasztjon alul.
  8. Az alsó részen hajlítsa meg a vezetéket a RED3 -ból, hogy hozzáérjen az SILVER10 rézpárnájához és díszítse.
  9. Az alsó részen, a BLACK3 vágóvezetéke a forrasztás felett.
  10. A tetején helyezzen be 1K ellenállást az SILVER1 és SILVER4 átmenő lyukakba.
  11. Alul nyomon követheti, vághatja és forraszthatja az SILVER1 -et a FEKETE1 -re.
  12. A tetején helyezzen be 1K ellenállást az SILVER2 és SILVER4 átmenő lyukakba.
  13. Alul nyomon követheti, vághatja és forraszthatja az SILVER2 -t a FEKETE2 -re.
  14. A tetején helyezzen be 1K ellenállást a SILVER3 és SILVER4 átmenő lyukakba.
  15. Alul nyomon követheti, vághatja és forraszthatja a SILVER3 -ból a BLACK3 -ba.
  16. Alul forrasztja el a SILVER4 huzalokat, és vágja le kb. 5 mm -rel.
  17. Alul forrasztjon egy fekete vezetéket az SILVER4 -re.
  18. Alul forrasztjon egy fehér huzalt az SILVER5 -be, biztosítva a folytonosságot a RED1 -ből.
  19. Alul forrasztjon egy sárga vezetéket az SILVER6 -ba, biztosítva ezzel a folytonosságot a RED2 -ből.
  20. Alul forrasztjon egy narancssárga vezetéket az SILVER7 -be, biztosítva a RED3 -ból való vezetés folytonosságát.

4. lépés: A főáramkör összeszerelése

A főáramkör összeszerelése
A főáramkör összeszerelése
A főáramkör összeszerelése
A főáramkör összeszerelése
A főáramkör összeszerelése
A főáramkör összeszerelése

Összeszerelés:

  1. Az elülső oldalon helyezze be az ATTINY85 (1), a 3P 90 fokos hüvelyes fejrészeket (2) (3), a 3P hüvelyes fejrészeket (4) (5) és a forrasztást a hátlapra.
  2. A hátsó részen nyomon kövessen egy sárga vezetéket a SÁRGA1 -től a SÁRGA2 -ig, és forrasztja.
  3. A hátoldalon kövessen egy narancssárga vezetéket az ORANGE1 -től az ORANGE2 -ig és forrasztja.
  4. A hátulján nyomon kell követni egy kék vezetéket a BLUE1 -től a BLUE2 -ig, és forrasztani.
  5. A hátoldalon nyomjon egy zöld vezetéket a ZÖLD1 -től a ZÖLD2 -ig és forrasztja.
  6. Hátsó részén nyomjon egy fehér vezetéket a FEHÉR1 -től a FEHÉR2 -ig és forrasztja.
  7. A hátoldalon nyomjon egy fekete vezetéket a BLACK1 -től a BLACK2 -ig, és forrasztja.
  8. A hátoldalon nyomjon egy fekete vezetéket a BLACK3 -tól a BLACK4 -ig, és forrasztja.
  9. A hátoldalon nyomjon egy piros vezetéket a RED1 és a RED2 között, és forrasztjon.
  10. A hátoldalon nyomon kövesse a csupasz vezetéket a RED3 -tól a RED4 -ig, és forrasztja.
  11. A hátoldalon kövessen egy csupasz vezetéket az SILVER1 -től az SILVER2 -ig és a forrasztást.
  12. Adjon hozzá egy jumpert az 5V vagy 3V3 vezetékhez.

Ha a fenti indikátorokat használja (lásd a pinout diagramot):

  1. Hátul forrasztja a fehér vezetéket a PB1 -be.
  2. Hátul forrasztja a sárga vezetéket a PB3 -ba.
  3. Hátul forrasztja a narancssárga vezetéket a PB4 -be.
  4. A hátoldalon forrasztja a fekete vezetéket a GND -be.

5. lépés: Tesztelés

Tesztelés
Tesztelés
Tesztelés
Tesztelés
Tesztelés
Tesztelés
Tesztelé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 átkapcsolja a Fogadás LED -et. Az ATTINY ALIVE LED világít.

Korábban építettünk egy I2C SHIELD -t az Arduino számára.

Ha inkább panírozni szeretne:

  1. Csatlakoztassa az 5,0 V -ot UNO -n a BRICK VCC -jéhez.
  2. Csatlakoztassa a GND -t az UNO -n a GND -hez a BRICK -en.
  3. Csatlakoztassa az UN5 A5 -öt a BRICK SCL -hez.
  4. Csatlakoztassa az UNO A4 -et a BRICK SDA -hoz.
  5. Csatlakoztasson egy 4K7 felhúzó ellenállást az SDA-ból a VCC-be.
  6. Csatlakoztasson egy 4K7 felhúzó ellenállást SCL-ről VCC-re.

A teszt futtatása

  1. Csatlakoztassa UNO -ját a Dev PC -hez USB -n keresztül.
  2. Töltse fel a kódot az UNO -ba.
  3. Nyissa meg az Arduino konzolt.
  4. 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).
  5. A slave címe kinyomtatódik a konzolra.
  6. Amikor beírja a küldési mezőbe 2 1 (tehát 16 2 1), és a Fogadás LED kigyullad.
  7. Amikor beírja a küldési mezőbe 2 0 (tehát 16 2 0), és a Fogadás LED kialszik.

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

6. lépés: Következő lépések

Következő lépések
Következő lépések
Következő lépések
Következő lépések

A következő ASSIMILATE ACTOR: HEARTBEAT, 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.

Ajánlott: