Përmbajtje:
- Hapi 1: Materialet dhe Mjetet
- Hapi 2: Përgatitni ATTINY85
- Hapi 3: Mblidhni qarkun
- Hapi 4: Testimi
- Hapi 5: Hapat e ardhshëm
Video: TOTA IOT123 - I2C KY019: 5 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:22
TULLA IOT123 janë njësi modulare DIY që mund të përzihen me Tulla të tjera IOT123, për të shtuar funksionalitetin në një nyje ose të veshshme. Ato bazohen në protoboards katrore të inçit, të dyanshëm me ndërlidhje përmes vrimave.
Një numër i këtyre Tullave pritet të jenë në nyje të shumta (Master MCUs - ESP8266 ose ATTINY84) në një sit. MCU nuk ka nevojë për njohuri paraprake për qëllimin e sensorëve ose nevojat e softuerit. Ai skanon për nyjet I2C pastaj kërkon një deponim të pronës (të dhëna të sensorit) nga secili skllav. Këto Tulla furnizojnë 5.0V, 3.3V dhe një linjë tjetër AUX e cila është e personalizueshme.
Kjo TUR I2C KY019 është e para nga AKTORT dhe ka një veti leximi/shkrimi:
Kaloni (e vërtetë/e rreme)
Tullat e sensorit të tipit Keyes do të nxirren së pari pasi ato vijnë me vitamina (përbërës shtesë të nevojshëm) të përfshirë dhe janë relativisht të shpejtë (bleva 37 për 10AUD). Pllaka/qarqe të tjera do të prezantohen me TULLAT I2C.
Vrimat ngjitur me ATTINY85 janë lënë të papërdorura, për të mundësuar një programues pogo pin ndërsa DIP8 është ngjitur në PCB. Një abstraksion i mëtejshëm, paketimi i Tullave në cilindra të vegjël që futen në një shpërndarës D1M WIFI BLOCK, duke pompuar vlerat në një server MQTT, është duke u zhvilluar.
Hapi 1: Materialet dhe Mjetet
Ekziston një listë e plotë e Faturave të Materialeve dhe Burimeve.
- Stafetë KY-019 (1)
- ATTINY85 20PU (1)
- Protoboard me 1 anë (1)
- Koka e meshkujve 90º (3P, 3P)
- Teli lidhës (7 ~)
- Ngjitës dhe hekur (1)
Hapi 2: Përgatitni ATTINY85
SHENIM: Nëse keni ndërmend të keni integrim në Crouton, ju lutemi përdorni bibliotekën nga këtu dhe përdorni shembullin e instaluar "attiny_ky019".
Nevojitet AttinyCore nga Menaxheri i Bordeve. Djeg bootloader "EEPROM Retained", "8mHZ Interior" (të gjitha konfigurimet e treguara më lart).
Depoja e kodeve mund të gjendet këtu.
Një ZIP i bibliotekës mund të gjendet këtu.
Udhëzimet për "Importimi i një biblioteke ZIP" këtu.
Pasi të jetë instaluar biblioteka, mund të hapni shembullin "attiny_ky019".
Për të ngarkuar firmuerin në ATTINY85, mund të gjeni më shumë detaje në këto udhëzime:
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…
Më së miri për të provuar përmes bordit të bukës para se të vazhdoni.
Nëse keni Sensorë ASSIMILATE ekzistues, sigurohuni që adresa e skllavit të jetë e ndryshme në një kombinim SENSOR/MCU Host dmth. Të gjithë aktorët e Relay mund të kenë të njëjtën adresë për sa kohë që keni vetëm një aktor Relay në një MCU/nyje.
Hapi 3: Mblidhni qarkun
- Në pjesën e përparme, futni përbërësit ATTINY85 (1), titujt meshkuj 3P 90deg (2) (3) dhe ngjitini në pjesën e pasme.
- Në pjesën e pasme, gjurmoni një tel të verdhë nga YELLOW1 në YELLOW2 dhe lidhni.
- Në pjesën e pasme, gjurmoni një tel blu nga BLUE1 në BLUE2 dhe ngjiteni.
- Në pjesën e pasme, gjurmoni një tel të gjelbër nga GREEN1 në GREEN2 dhe lidhni.
- Në pjesën e pasme, gjurmoni një tel të zi nga BLACK1 në BLACK2 dhe ngjiteni.
- Në pjesën e pasme, gjurmoni një tel të zi nga BLACK3 në BLACK4 dhe ngjiteni.
- Në pjesën e pasme, gjurmoni një tel të kuq nga RED1 në RED2 dhe lidhni.
- Në pjesën e pasme, gjurmoni një tel të kuq nga RED3 në RED4 dhe lidhni.
Stafeta tani mund të lidhet drejtpërdrejt nëpërmjet kunjave të saj në PCB ose nëpërmjet telave, në pikat e treguara në kontratën e kunjave.
Hapi 4: Testimi
Një numër i këtyre Tullave pritet të jenë në nyje të shumta (MCUs - ESP8266 ose ATTINY84) në një mjedis. Ky është një test njësie: dërgon komanda I2C nga UNO në ATTINY e cila hap ose mbyll stafetën.
Ne kemi ndërtuar më parë një I2C SHIELD për Arduino.
Nëse dëshironi ta vendosni atë në vend:
- Lidhni 5.0V në UNO me një VCC në BRICK.
- Lidhni GND në UNO me GND në Tulla.
- Lidhni A5 në UNO me SCL në Tulla.
- Lidhni A4 në UNO me SDA në BRICK.
- Lidhni një rezistencë tërheqëse 4K7 nga SDA në VCC.
- Lidhni një rezistencë tërheqëse 4K7 nga SCL në VCC.
Drejtimi i testit
- Lidhni UNO -në tuaj me kompjuterin tuaj Dev me USB.
- Ngarko kodin në UNO.
- Hapni tastierën Arduino. Zgjidhni 9600 baud (rinisni UNO dhe rihapni tastierën nëse është e nevojshme).
- Adresa e skllavit do të printohet në tastierë.
- Kur, futni në kutinë e dërgimit 2 1 (pra 12 2 1), dhe stafeta ndizet.
- Kur, futni në kutinë e dërgimit 2 0 (pra 12 2 0), dhe stafeta fiket.
Komandat adhoc të I2C BRICK për skllevërit nga masteri i UNO
#përfshi |
const byte _num_chars = 32; |
char _marrë_chars [_num_chars]; // një grup për të ruajtur të dhënat e marra |
boolean _has_new_data = false; |
voidsetup () { |
Serial.filloj (9600); |
Serial.println (); |
Serial.println ("ASSIMILATE IOT ACTOR/SENSOR EEPROM EDITOR"); |
Serial.println ("siguro që linja e re e zgjedhur në dritaren e tastierës"); |
Serial.println (); |
Serial.println ("ADRESA 1 KONFIRMIMI I PETRFSHIRJES SET METADATAVE N/A (P MR M2M)"); |
Serial.println ("ADRESA 2 KOMANDA E AKTORIT"); |
Serial.println (); |
Serial.println ("Adresat në autobus:"); |
scan_i2c_adresa (); |
Serial.println (); |
Serial.println (""); |
} |
voidscan_i2c_adresat () { |
int pajisja_numër = 0; |
për (adresa e bajtit = 8; adresa <127; adresa ++) |
{ |
Wire.beginTransmetimi (adresa); |
const byte error = Wire.endTransmission (); |
nëse (gabim == 0) |
{ |
Serial.println (adresa); |
} |
} |
} |
voidloop () { |
recv_with_end_marker (); |
send_to_i2c (); |
} |
voidrecv_with_end_marker () { |
bajt statik ndx = 0; |
fundi_shënues = '\ n'; |
char rc; |
ndërsa (Serial. i disponueshëm ()> 0 && _has_new_data == false) { |
rc = Serial.read (); |
nëse (rc! = shënuesi i fundit) { |
_marrë_chars [ndx] = rc; |
ndx ++; |
nëse (ndx> = _num_chars) { |
ndx = _num_chars - 1; |
} |
} |
tjeter { |
_rriten_chars [ndx] = '\ 0'; // përfundoni vargun |
ndx = 0; |
_has_new_data = e vërtetë; |
} |
} |
} |
voidsend_to_i2c () { |
char param_buf [16]; |
const Vija e pranuar_string = String (_cipat_ e marra); |
nëse (_has_new_data == vërtetë) { |
int idx1 = marrë_string.indexOf (''); |
Adresa e vargut = marrë_string.substring (0, idx1); |
int address_int = adresa.toInt (); |
nëse (adresa_int <8 || adresa_int> 127) { |
Serial.println ("HYRJA E ADRESS SV INVALIDIT:"); |
Serial.println (adresa); |
kthim; |
} |
int idx2 = marrë_string.indexOf ('', idx1+1); |
Kodi i vargut; |
nëse (idx2 == -1) { |
kodi = marrë_string.substring (idx1+1); |
} tjetër { |
kodi = marrë_string.substring (idx1+1, idx2+1); |
} |
int code_int = code.toInt (); |
nëse (code_int <0 || code_int> 5) { |
Serial.println ("HYRJA E KODIT TV INVALIDUAR:"); |
Serial.println (kodi); |
kthim; |
} |
bool has_parameter = idx2> -1; |
Parametri i vargut; |
nëse (ka_parametër) { |
parametër = marrë_string.substring (idx2 + 1, idx2 + 17); // 16 karaktere max |
if (parametri.length () <1) { |
Serial.println ("PARTAMETRI MIN. Gjatësia 1"); |
_has_new_data = false; |
kthim; |
} |
} tjetër { |
nëse (code_int> 1) { |
Serial.println ("PARAMETRI I KERKESUAR!"); |
_has_new_data = false; |
kthim; |
} |
} |
Serial.println (); |
Serial.print ("input orig ="); |
Serial.println (vargu i marrë); |
Serial.print ("adresa ="); |
Serial.println (adresa); |
Serial.print ("code ="); |
Serial.println (kodi); |
Serial.print ("parametri ="); |
Serial.println (parametri); |
// D SRGIMI VIA I2C |
Wire.beginTransmission (adresa_int); |
Wire.write (code_int); |
nëse (ka_parametër) { |
parametër.trim (); |
strcpy (param_buf, parametër.c_str ()); |
Wire.write (param_buf); |
} |
Wire.endTransmission (); |
Serial.println (); |
Serial.println ("DENTRGUAR NGA I2C!"); |
Serial.println (); |
Serial.println (""); |
_has_new_data = false; |
} |
} |
shikoni rawuno_i2c_command_input.ino të pritur me ❤ nga GitHub
Hapi 5: Hapat e ardhshëm
Vazhdimi ASTIMILATOR AKTOR: KY019 që përdor këtë tullë ka konfigurim automatik për Crouton nëpërmjet meta të dhënave të instaluara tashmë në ATTINY85 këtu. Paketa JSON e dërguar në Crouton dërgohet përmes firmuerit më të fundit për ICOS10. Ju mund të bëni një Proof-of-concept në një ESP8266 të zakonshëm, nëse ndërtimi është shumë për tani.
Skica UNO e përdorur në Testim ka një funksion për të ruajtur një adresë të re skllave në EEPROM në ATTINY85, nëse keni një përplasje në autobusin tuaj të synuar I2C.
Janë shtuar disa skema, por ka mënyra të ndryshme për të lidhur qarkun në rrjedhën e poshtme në varësi të asaj që dëshironi të arrini, kështu që unë do ta lë atë për ju:)
Recommended:
IOT123 - D1M BLOCK - 2xAMUX Montimi: 7 hapa (me fotografi)
IOT123 - D1M BLOCK - 2xAMUX Kuvendi: BLACK -et D1M shtojnë kuti prekëse, etiketa, udhëzues polariteti dhe thyerje për Wemos D1 Mini SOC/Shields/Clones të njohura. Një nga çështjet me çipin ESP8266 është se ka vetëm një pin analog IO në dispozicion. Ky udhëzues tregon se si të montoni 2xA
IOT123 - D1M BLOCK - RFTXRX Montimi: 8 hapa
IOT123 - D1M BLOCK - RFTXRX Montimi: BLACK -et D1M shtojnë kuti prekëse, etiketa, udhëzues polariteti dhe thyerje për Wemos D1 Mini SOC/Shields/Clones të njohura. Transmetuesit/Marrësit RF lejojnë ESP8266 të hyjë në automatizimin ekzistues të shtëpisë/industrisë. Kjo shtresë siguron prishje për 433/
IOT123 - D1M BLOCK - GY521 Montimi: 8 Hapa
IOT123 - Blloku D1M - GY521 Asambleja: Bllokimet D1M shtojnë kuti prekëse, etiketa, udhëzues polariteti dhe thyerje për WEMOS D1 Mini SOC/Shields/Clones të njohura. Ky BLLOK D1M jep një lidhje të thjeshtë midis Wemos D1 Mini dhe modulit GY-521 (kunjat e Adresës dhe Ndërprerjes mund të lidhen
IOT123 - AKTOR ASSIMILIM: KY019: 4 Hapa
IOT123 - AKTOR ASSIMILATE: KY019: withshtë me sinjal kontrolli 5V TIL i cili mund të kontrollojë sinjalin DC / AC. Ky ndërtim bazohet në TUR I I2C KY019. Nëse keni nevojë për 2 kanale, unë rekomandoj ndërrimin e këtij aktori me TURELN E RELAYIT 2CH. Aktorët/sensorët asimilues janë aktorë të mjedisit/senso
TOTA IOT123 - LIR2032 BATTERY: 4 hapa
TOTA IOT123 - LIR2032 BATTERY: Tullat IOT123 janë njësi modulare DIY që mund të përzihen me Tulla të tjera IOT123, për të shtuar funksionalitetin në një nyje ose të veshshme. Ato bazohen në protoboardë katrorë me inç, të dyanshëm me vrima të ndërlidhura. Edhe pse udhëzimet