Kazalo:
Video: IOT123 - I2C OGLEDNI OGLEDNIK: 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Med razvijanjem ASIMILIRANIH SENZORJEV IN AKTORJEV imam UNO pri roki za pošiljanje adhoc ukazov I2C prototipom, ki se razvijajo. Ena od prednosti I2C BRICKS so standardizirani pinouts. Namesto da vsakič uporabite žice za mizo (glejte Fritzings), se uporablja trden lo-tech ščit.
Korak: Materiali in orodja
- 4 cm x 6 cm Uninersal PCB (1)
- Priključna žica (~ 6)
- 4K7 upori (2) 6
- Moški vzglavnik (12P, 8P)
- Ženska glava (9P ali 3P, 3P)
- Spajkanje in železo (1)
2. korak: Montaža
Če namesto 1 ženskega glave 9P uporabljate 2 izklopljeni ženski glavi 3P, se POMOČNI SENZOR/DEJAVNIKI prilegajo JIG -u, ne da bi jih razstavili.
Pri ožičenju odstranite do 10 mm na koncih in pokosite same konce.
- Na spodnji strani tiskanega vezja vstavite moško glavo (1) (2) in jo spajkajte na vrhu.
- Na vrhu tiskanega vezja vstavite žensko glavo (3) in spodaj spajkajte.
- Na vrhu skozi rdečo žico v RED1 in RED2.
- Na dnu žica skozi RED1 v RED3.
- Na dnu žico skozi RED2 v RED5 in spajkajte.
- Na vrhu žica skozi RED3 v RED4 in spajkajte.
- Na vrhu prebodite rdečo žico v RED6 in RED7.
- Na dnu žica skozi RED6 v RED8.
- Na dnu žico skozi RED7 v RED10 in spajkajte.
- Na vrhu žica skozi RED8 v RED9 in spajkajte.
- Na vrhu skozi črno žico skozi BLACK1 in BLACK2.
- Na dnu prebodite žico skozi BLACK1 v BLACK3.
- Na dnu žico skozi luknjo iz BLACK2 v BLACK5 in spajkajte.
- Na vrhu žico skozi luknjo iz BLACK3 v BLACK4 in spajkajte.
- Na vrhu prebodite modro žico v modro1 in modro2.
- Na dnu skozi žico skozi modro 1 v modro 3.
- Na dnu žico skozi modro luknjo iz modrega v modro5 in spajkajte.
- Na vrhu prebodite žico skozi MODRO3 v MODRO4 in spajkajte.
- Na vrhu prebodite zeleno žico v GREEN1 in GREEN2.
- Na dnu žica skozi luknjo iz ZELENE1 v ZELENO3.
- Na dnu prebodite žico iz GREEN2 v GREEN5 in spajkajte.
- Na vrhu žico skozi luknjo iz ZELENE3 v ZELENO4 in spajkajte.
- Na vrhu vstavite upor 4K7 v SILVER3 in SILVER4.
- Na dnu prebodite žico iz SREBRNEGA3 v ZELENO5 in spajkajte.
- Na dnu žica skozi luknjo iz SREBRNEGA4 v RDEČEGA10 in spajkajte.
- Na vrhu vstavite upor 4K7 v SILVER1 in SILVER2.
- Na dnu žico skozi luknjo iz SREBRNEGA1 v MODRO5 in spajkajte.
- Na dnu žico skozi SERVER2 v RDEČO 10 in spajkajte.
3. korak: Koda za UNO
Skica tukaj je osnovna. Omogoča vam, da uporabite vnos v ukazno mizo, da UNO pošlje sporočila I2C na zidak ATTINY85 I2C.
Vsa navodila so natisnjena na zaslonu s podprtimi možnostmi.
I2C BRICK adhoc ukazi za sužnje od UNO masterja
#vključi |
const byte _num_chars = 32; |
char _prejeti_chars [_num_chars]; // polje za shranjevanje prejetih podatkov |
logični _has_new_data = false; |
voidsetup () { |
Serial.begin (9600); |
Serial.println (); |
Serial.println ("ASIMILIRAJ IOT AKTOR/SENZOR EEPROM UREDNIK"); |
Serial.println ("zagotovite, da je nova vrstica izbrana v oknu konzole"); |
Serial.println (); |
Serial.println ("NASLOV 1 POTRDI PREJEM METODATKOV N/A (ZA M2M)"); |
Serial.println ("NASLOV 2 ULOGA AKTORJA"); |
Serial.println (); |
Serial.println ("NASLOVI V AVTOBUSU:"); |
scan_i2c_addresses (); |
Serial.println (); |
Serial.println (""); |
} |
voidscan_i2c_addresses () { |
int device_count = 0; |
for (naslov bajtov = 8; naslov <127; naslov ++) |
{ |
Wire.beginTransmission (naslov); |
napaka bajta const = Wire.endTransmission (); |
če (napaka == 0) |
{ |
Serial.println (naslov); |
} |
} |
} |
voidloop () { |
recv_with_end_marker (); |
send_to_i2c (); |
} |
voidrecv_with_end_marker () { |
statični bajt ndx = 0; |
char end_marker = '\ n'; |
char rc; |
medtem ko (Serial.available ()> 0 && _has_new_data == false) { |
rc = Serial.read (); |
if (rc! = end_marker) { |
_prejeti_črki [ndx] = rc; |
ndx ++; |
if (ndx> = _številka_znakov) { |
ndx = _številka -znakov - 1; |
} |
} |
drugače { |
_received_chars [ndx] = '\ 0'; // prekinimo niz |
ndx = 0; |
_has_new_data = res; |
} |
} |
} |
voidsend_to_i2c () { |
char param_buf [16]; |
const Niz prejel_string = Niz (_prejeti_črki); |
if (_has_new_data == true) { |
int idx1 = sprejet_string.indexOf (''); |
Naslov niza = prejel_string.substring (0, idx1); |
int naslov_int = naslov.toInt (); |
if (naslov_int <8 || naslov_int> 127) { |
Serial.println ("INVALID ADDRESS INPUT:"); |
Serial.println (naslov); |
vrnitev; |
} |
int idx2 = sprejet_string.indexOf ('', idx1+1); |
Koda niza; |
če (idx2 == -1) { |
koda = sprejet_string.substring (idx1+1); |
} drugo { |
koda = prejeti_string.substring (idx1+1, idx2+1); |
} |
int code_int = code.toInt (); |
if (code_int <0 || code_int> 5) { |
Serial.println ("INVALID CODE INPUT:"); |
Serial.println (koda); |
vrnitev; |
} |
bool has_parameter = idx2> -1; |
Parameter niza; |
if (has_parameter) { |
parameter = sprejet_string.substring (idx2 + 1, idx2 + 17); // največ 16 znakov |
if (parameter.length () <1) { |
Serial.println ("PARTAMETER MIN. LENGTH 1"); |
_has_new_data = false; |
vrnitev; |
} |
} drugo { |
če (code_int> 1) { |
Serial.println ("PARAMETER POTREBEN!"); |
_has_new_data = false; |
vrnitev; |
} |
} |
Serial.println (); |
Serial.print ("input orig ="); |
Serial.println (niz_prejetih); |
Serial.print ("naslov ="); |
Serial.println (naslov); |
Serial.print ("code ="); |
Serial.println (koda); |
Serial.print ("parameter ="); |
Serial.println (parameter); |
// POŠLJI PO I2C |
Wire.beginTransmission (naslov_int); |
Wire.write (code_int); |
if (has_parameter) { |
parameter.trim (); |
strcpy (param_buf, parameter.c_str ()); |
Wire.write (param_buf); |
} |
Wire.endTransmission (); |
Serial.println (); |
Serial.println ("Poslano prek I2C!"); |
Serial.println (); |
Serial.println (""); |
_has_new_data = false; |
} |
} |
oglejte si rawuno_i2c_command_input.ino, ki ga gosti ❤ GitHub
4. korak: Naslednji koraki
Iz predstavljenih zgradb je dovolj gibljivih delov, da lahko sestavite lastno ASIMILIRAJO IOT MREŽO.
Vsako od posameznih funkcij vozlišč (senzorjev in akterjev) je mogoče upravljati na decentraliziran način, ne da bi bilo treba od poveljnika MCU vedeti o podprtih funkcijah.
Vsaka aplikacija, ki se poveže z posrednikom MQTT, lahko nadzoruje/opazuje vsako funkcijo vozlišča IOT. To so M2M, spletne aplikacije, IFTTT itd. Veliko preprostejši (ali bogatejši vmesniki) v vaš svet IOT.
Priporočena:
IOT123 - ZMAK ZDRAVNIKA POLNILNIKA: 3 koraki
IOT123 - IZKLOP ZDRAVNIKA POLNILNIKA: Med odpravljanjem napak različice 0.4 SOLARNEGA Sledilnika sem porabil veliko časa za priklop večmetrskega na različna stikalna vezja NPN. Večmetrski meter ni imel prijaznih povezav. Ogledal sem si nekaj monitorjev, ki temeljijo na MCU, vključno z
IOT123 - SENZOR ASIMILACIJE: TEMT6000: 4 koraki
IOT123 - ASISIMILATE SENSOR: TEMT6000: ASSIMILATE SENSORS so okoljski senzorji, ki imajo dodan sloj strojne in programske abstrakcije, kar omogoča dodajanje popolnoma novih tipov v HUB ASSIMILATE SENSOR HUB in odčitki se črpajo na strežnik MQTT brez dodane kode
IOT123 - SENZOR ZA ASIMILACIJO: MAX9812: 4 koraki
IOT123 - ASISIMILATE SENSOR: MAX9812: Microphone Amplifier Sound MIC 3.3V / 5V Fixed Gain 20dB.Ta gradnja temelji na I2C MAX9812 OPIČKI.Če potrebujete nastavljiv dobiček, priporočam, da ta senzor zamenjate z MAX4466. ki imajo dodaten har
IOT123 - PODEŠILO SENZORJA ZA ASIMILACIJO: ICOS10 GENERIC SHELL (HOOKUP WIRE) Montaža: 4 koraki
IOT123 - POVEZALO SENZORJA ZA ASIMILACIJO: ICOS10 GENERIČNA LUKNJA (ŽICA HOOKUP) Sestava: UPDATE Za večjo zanesljivost priporočamo uporabo IDC vezja (ne HOOKUP). Ta sklop HOOKUP je primeren za delovanje brez kritične naloge, če imate čas za preverjanje vezja. Našel sem nekaj žic (zgornja plast plošč: rdeča/rumena), ki niso dovolj dolge
IOT123 - POMOŽNI AKTOR: KY019: 4 koraki
IOT123 - POMOČNI DEJAVNIK: KY019: S krmilnim signalom 5V TIL, ki lahko nadzoruje signal DC / AC. Ta konstrukcija temelji na opeki I2C KY019. Če potrebujete 2 kanala, priporočam, da tega igralca zamenjate za 2CH RELAY BRICK. POMOČNI AKTORJI/SENZORJI so okoljski akterji/senzorji