Sadržaj:
Video: IOT123 - I2C OGLEDNIK OD ZIDA: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Dok razvijam ASISIMILATNE SENZORE i AKTORE, držim UNO pri ruci za slanje adhoc I2C naredbi prototipima koji se razvijaju. Jedna od prednosti I2C BRICKS -a su standardizirani pinouts. Umjesto da se svaki put koristi žica za matičnu ploču (vidi Fritzings), koristi se čvrsti lo-tech štit.
Korak 1: Materijali i alati
- 4 cm x 6 cm Uninersal PCB (1)
- Priključna žica (~ 6)
- 4K7 otpornici (2) 6
- Muški zaglavlje (12P, 8P)
- Žensko zaglavlje (9P, ili 3P, 3P)
- Lemljenje i gvožđe (1)
Korak 2: Montaža
Ako koristite 2 off 3P ženska zaglavlja umjesto 1 off 9P ženskog zaglavlja, ASISIMILATNI SENZOR/GLUMCI će stati na JIG bez njihovog rastavljanja.
Ožičenjem odvojite do 10 mm na krajevima i pokosite same krajeve.
- Na dnu PCB -a umetnite muško zaglavlje (1) (2) i lemite na vrhu.
- Na vrhu PCB -a umetnite ženski zaglavlje (3) i lemite na dno.
- Na vrhu provucite crvenu žicu u RED1 i RED2.
- Na dnu, žica kroz otvor od RED1 u RED3.
- Na dnu provucite žicu kroz RED2 u RED5 i lemite.
- Na vrhu provucite žicu kroz RED3 u RED4 i lemite.
- Na vrhu provucite crvenu žicu u RED6 i RED7.
- Na dnu, žica kroz otvor od RED6 u RED8.
- Na dnu provucite žicu kroz RED7 u RED10 i lemite.
- Na vrhu provucite žicu kroz RED8 u RED9 i lemite.
- Na vrhu, provucite crnu žicu u BLACK1 i BLACK2.
- Na dnu, žica kroz otvor od BLACK1 u BLACK3.
- Na dnu provucite žicu kroz otvor od BLACK2 u BLACK5 i lemite.
- Na vrhu, žica kroz otvor od BLACK3 u BLACK4, i lemite.
- Na vrhu provucite plavu žicu u PLAVU1 i PLAVU2.
- Na dnu, žica kroz rupu od PLAVE1 do PLAVE3.
- Na dnu provucite žicu kroz PLAVU2 u PLAVU5 i lemite.
- Na vrhu, žica kroz rupu od PLAVE3 do PLAVE4, i lemite.
- Na vrhu provucite zelenu žicu u ZELENU1 i ZELENU2.
- Na dnu provucite žicu kroz ZELENU1 u ZELENU3.
- Na dnu provucite žicu kroz ZELENU2 u ZELENU5 i lemite.
- Na vrhu, žica kroz rupu iz ZELENOG3 u ZELENO4 i lemite.
- Na vrhu provucite otpornik 4K7 u SILVER3 i SILVER4.
- Na dnu provucite žicu kroz SREBRNO3 u ZELENO5 i lemite.
- Na dnu provucite žicu kroz SREBRO4 u CRVENU10 i lemite.
- Na vrhu provucite otpornik 4K7 u SILVER1 i SILVER2.
- Na dnu provucite žicu kroz SREBRU1 u PLAVU5 i lemite.
- Na dnu provucite žicu kroz SREBRNO2 u CRVENO10 i lemite.
Korak 3: Kôd za UNO
Skica je ovdje rudimentarna. Omogućava vam da koristite unos konzole da UNO pošalje I2C poruke I2C ATTINY85 CIKLI.
Sva uputstva se štampaju na ekranu sa podržanim opcijama.
I2C BRICK adhoc komande za robove sa UNO master -a
#include |
const byte _num_chars = 32; |
char _received_chars [_num_chars]; // niz za spremanje primljenih podataka |
boolean _has_new_data = false; |
voidsetup () { |
Serial.begin (9600); |
Serial.println (); |
Serial.println ("ASSIMILATE IOT ACTOR/SENSOR EEPROM EDITOR"); |
Serial.println ("osigurajte da je novi red izabran u prozoru konzole"); |
Serial.println (); |
Serial.println ("ADRESA 1 POTVRDI PRIJEM METADATA N/A (ZA M2M)"); |
Serial.println ("KOMANDA GLUMCA ADRESE 2"); |
Serial.println (); |
Serial.println ("ADRESE NA BUSU:"); |
scan_i2c_addresses (); |
Serial.println (); |
Serial.println (""); |
} |
voidscan_i2c_addresses () { |
int uređaj_broj = 0; |
for (adresa bajta = 8; adresa <127; adresa ++) |
{ |
Wire.beginTransmission (adresa); |
greška const bajta = Wire.endTransmission (); |
ako (greška == 0) |
{ |
Serial.println (adresa); |
} |
} |
} |
voidloop () { |
recv_with_end_marker (); |
send_to_i2c (); |
} |
voidrecv_with_end_marker () { |
statički bajt ndx = 0; |
char end_marker = '\ n'; |
char rc; |
while (Serial.available ()> 0 && _has_new_data == false) { |
rc = Serial.read (); |
if (rc! = end_marker) { |
_received_chars [ndx] = rc; |
ndx ++; |
if (ndx> = _broj_znakova) { |
ndx = _broj_znakova - 1; |
} |
} |
else { |
_received_chars [ndx] = '\ 0'; // završava niz |
ndx = 0; |
_has_new_data = true; |
} |
} |
} |
voidsend_to_i2c () { |
char param_buf [16]; |
const niz primljen_string = niz (_primljeni_slovnici); |
if (_has_new_data == true) { |
int idx1 = primljeni_string.indexOf (''); |
Adresa niza = received_string.substring (0, idx1); |
int adresa_int = adresa.toInt (); |
if (adresa_int <8 || adresa_int> 127) { |
Serial.println ("INVALID ADDRESS INPUT:"); |
Serial.println (adresa); |
return; |
} |
int idx2 = primljeni_string.indexOf ('', idx1+1); |
String code; |
if (idx2 == -1) { |
kod = primljeni_string.substring (idx1+1); |
} else { |
kod = primljeni_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 (kod); |
return; |
} |
bool has_parameter = idx2> -1; |
String parameter; |
if (has_parameter) { |
parametar = primljeni_string.substring (idx2 + 1, idx2 + 17); // 16 znakova maks |
if (parameter.length () <1) { |
Serial.println ("PARTAMETER MIN. LENGTH 1"); |
_has_new_data = false; |
return; |
} |
} else { |
if (code_int> 1) { |
Serial.println ("PARAMETAR POTREBAN!"); |
_has_new_data = false; |
return; |
} |
} |
Serial.println (); |
Serial.print ("input orig ="); |
Serial.println (primljeni_string); |
Serial.print ("address ="); |
Serial.println (adresa); |
Serial.print ("code ="); |
Serial.println (kod); |
Serial.print ("parameter ="); |
Serial.println (parametar); |
// POŠALJI VIA I2C |
Wire.beginTransmission (address_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 ("SENT VIA I2C!"); |
Serial.println (); |
Serial.println (""); |
_has_new_data = false; |
} |
} |
pogledajte rawuno_i2c_command_input.ino hostirano sa ❤ od strane GitHub -a
Korak 4: Sljedeći koraci
Od predstavljenih konstrukcija, postoji dovoljno pokretnih dijelova za vas da napravite vlastitu ASIMILIRANU IOT MREŽU.
Svakom od pojedinačnih funkcija čvorova (senzori i akteri) može se upravljati na decentraliziran način, ne ovisi o tome da li MCU master ima znanje o podržanim funkcijama.
Svaka aplikacija koja se povezuje s posrednikom MQTT može kontrolirati/promatrati svaku značajku IOT čvora. To su M2M, web aplikacije, IFTTT i tako dalje. Mnogo jednostavnija (ili bogatija ako želite) sučelja za vaš IOT svijet.
Preporučuje se:
Zaslon mjerača zida: 4 koraka (sa slikama)
Zaslon mjerača zida: Kupio sam jeftin džepni mjerač sata od eBaya misleći da će to biti zanimljiva novost. Ispostavilo se da merač koji sam kupio nije prikladan, ali do tada sam se obavezao da ću proizvoditi nešto što će objesiti na zid i biti
Sat koji pada sa zida kad ga pogledate: 4 koraka
Sat koji pada sa zida kad ga pogledate: Jeste li ikada poželjeli sat koji vam ne govori o vremenu. Ni ja, ali to dobijete kad me stavite u karantenu s nekoliko elektroničkih komponenti i internetom
Zaobilaženje zaštitnog zida/proxy servera: 3 koraka
Zaobilaženje zaštitnog zida/proxy servera: Mnogi drugi studenti su došli i pitali me kako da prođem kroz zaštitne zidove i proksije. Informatičari u školi postaju pametniji u pogledu učenika koji koriste posrednike. Neko sam vrijeme razmišljao o ovom pitanju i imam rješenje. Zašto ne biste stvorili vlastite web stranice
Kako: Postavljanje zaštitnog zida IPCop virtualne mašine za zaštitu vašeg Windows računara (besplatno!): 5 koraka
Kako: Postavljanje zaštitnog zida IPCop virtualne mašine za zaštitu vašeg Windows domaćina (besplatno!): Sažetak: Cilj ovog projekta je upotreba IpCop -a (besplatna distribucija Linuxa) u virtualnoj mašini za zaštitu Windows host sistema na bilo kojoj mreži. IpCop je vrlo moćan vatrozid zasnovan na Linuxu s naprednim funkcijama kao što su: VPN, NAT, Intrusion Det
Gornje dugme IRobot virtuelnog zida: 6 koraka
IRobot Virtual Wall Gornje dugme: Pa me ljuti što velika tipka na vrhu iRobot Virtual Wall -a nije dugme za napajanje. Izgleda da bi trebalo biti, ali jednostavno nije. Zato moram ući i dodati prekidač na vrh virtualnog zida