Turinys:
- 1 žingsnis: medžiagos
- 2 žingsnis: Raspberry Pi
- 3 žingsnis: laidų prijungimas
- 4 žingsnis: duomenų bazė
- 5 žingsnis: kodas
- 6 žingsnis: atvejis
Video: „EasyTalk“: paprastas bendravimas ir kalendorius šalia jūsų: 6 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Mano vardas Kobe Marchal, studijuoju Howest mieste, Belgijoje ir esu daugialypės terpės ir komunikacijos technologijų (MCT) studentas. Paskutinę pirmųjų metų užduotį turėjau sukurti daiktų interneto įrenginį.
Namuose mes susiduriame su tokia problema, kad mano brolis visada žaidžia ir kai mano mama turi jam kažką pasakyti iš apačios, ji turi šaukti, nes jis nešioja ausines ir nieko negirdi. Norėjau išspręsti šią problemą jai, todėl sukuriu įrenginį, į kurį galite siųsti žinutes iš svetainės. Jis taip pat naudojamas kaip kalendorius, kuriame galite saugoti savo įvykius arba importuoti išorinį kalendorių per URL. Šis prietaisas taip pat saugo temperatūros ir oro kokybės vertes, kad galėtumėte pamatyti, kaip tai sveika žaidžiant ar dirbant, nes dažnai to nepastebite.
Šis įrenginys vadinamas „EasyTalk“ir išsprendžia šią problemą. Tai mažas įrenginys, kuriame naudojamas OLED ekranas, kad galėtumėte matyti savo įvykius, laiką ar temperatūrą ir oro kokybę. Kai siunčiamas pranešimas, jis pastebi jus su pranešimo garsu ir ekrane parodo pranešimą, kuriame galite atsakyti „taip“arba „ne“.
Jei norite sukurti šį daiktą arba norite pamatyti, kaip jis pagamintas, primygtinai siūlau skaityti toliau. Jei norite sužinoti daugiau apie mane, galite apsilankyti mano portfelyje.
1 žingsnis: medžiagos
Pirmasis žingsnis yra surinkti visas medžiagas, kurios bus naudojamos šiame projekte. Aš būsiu nuoširdus su jumis. Tai nėra pigus prietaisas, bendra kaina yra 271 €. Žemiau yra jų sąrašas ir keletas nuotraukų, kurias reikia paaiškinti.
- „Raspberry Pi 4“modelis B - 4 GB
- „Pibow Coupé 4“- „Ninja“
- 12 x Premium Jumperwires op strip - 40 kamščių - M/M - 20cm
- 6 x „Premium Jumperwires op strip“- 40 kotelių - M/F - 20 cm
- 2 x 36 kontaktų krovimo antraštė
- 40 kontaktų dėžės antraštė
- 40 kontaktų „Regenboog GPIO“kabelis
- Nespalvotas 2,42 "128 x 64 OLED grafinio ekrano modulio rinkinys
- „Kleine Metalen“garsiakalbis susitiko su „Draadjes“- 8 omų 0,5 W
- „Adafruit Mono 2.5W“D klasės garso versijos
- 3,5 mm „Aux Jack“kabelis
- 7 mm sriegio momentinis mygtukas
- Tuimelschakelaar
- PIR Bewegingssensor
- DS18B20 „Digitale“temperatūros jutiklis
- Grove - Lucht kwaliteit sensor v1.3
- Giraitė - I2C ADC
- Raspberry Pi 4 USB-C maitinimas
- „Flexibel“mini statinys
- 470 omų rezistoriai
- 4, 7 K omų rezistorius
- Termiškai susitraukiantis vamzdis
- 6 x varžtai M2 x 6 mm
- 6 x varžtai M2 x 8 mm
- 3 x varžtai M2 x 16 mm
- Aliuminis 3 mm
Aš taip pat sukūriau medžiagų sąrašą (BOM), kad galėtumėte pamatyti, kiek sumokėjau už visas medžiagas ir kur jas gavau.
2 žingsnis: Raspberry Pi
Šiam projektui mes naudojame „Raspberry Pi“, nes jį lengva nustatyti ir jis gali būti naudojamas daugeliui dalykų. Tai puikiai tinka tam, ką norime padaryti.
Atsisiųskite „Raspberry Pi Desktop“OS ir įdiekite ją į „Raspberry Pi“. Raspi-config turite įgalinti SPI, I2C ir „One Wire“. Siūlau išjungti kai kuriuos įkrovos parinkčių dalykus, kad jis būtų paleistas greičiau. Išskyrus tai, aš naudoju kai kurias bibliotekas, kurias turite įdiegti kartu su „pip“, kad tai veiktų.
pip3 įdiegimas:
- adafruit-circuitpython-ssd1305
- ics
- Kolba
- Kolbos-kamšteliai
- Kolba-JWT-Išplėsta
- mysql-jungtis-python
Norėdami sukurti svetainę, jums taip pat reikia apache2, čia mes naudojame apt:
sudo apt įdiegti apache2 -y
Turite nustatyti belaidį ryšį, nes negalite gauti UTP kabelio „Raspberry Pi“, kai jis yra byloje.
Taip pat turėsite nustatyti „MariaDB“, kad galėtumėte pasiekti duomenų bazę.
3 žingsnis: laidų prijungimas
Kitas žingsnis - viską sujungti ir patikrinti, ar visi komponentai veikia. Aš sukūriau PCB, kad pašalinčiau duonos lentą ir sumažintų laidus, kad įrenginys būtų mažesnis. Tai būtina, nes jis stovės šalia jūsų monitoriaus ir negali užimti daug vietos, todėl neatitraukia jūsų dėmesio nuo darbo.
4 žingsnis: duomenų bazė
Šis įrenginys naudoja normalizuotą „MySQL“duomenų bazę, kad išsaugotų visą informaciją ir parodytų ją svetainėje bei pačiame įrenginyje. Sukūriau jį „MySQL Workbench“.
Šioje duomenų bazėje yra 5 lentelės.
Lentelė Activiteiten (= veikla, įvykiai) naudojama visiems kalendoriaus įvykiams saugoti. Tai taip pat apima visus įvykius, importuotus iš kito kalendoriaus.
Lentelės aparatai (= prietaisai) naudojami įvairių tipų prietaisams, kurie naudojami lentelėje Istorija (= istorija), saugoti. Šiame projekte naudojami du jutikliai, temperatūros jutiklis ir oro kokybės jutiklis, tačiau taip pat turiu trečiąjį „įrenginį“- pačią svetainę, skirtą saugoti žinutes, siunčiamas iš svetainės į įrenginį.
Lentelė Gebruikers (= vartotojai) saugo vartotojus. Jie gali prisijungti naudodami savo slaptažodį ir nurodyti slapyvardį, kuris rodomas su pranešimu siunčiant į įrenginį.
Lentelės istorija (= istorija) naudojama saugoti jutiklių vertes ir į įrenginį siunčiamus pranešimus.
Galiausiai lentelės nuorodos (= URL) saugo visus išorinio kalendoriaus URL.
5 žingsnis: kodas
Rekomenduoju sukurti naują vartotoją, nes tai yra geriausia praktika, tačiau tai nėra būtina, taip pat galite naudoti numatytąjį pi vartotoją.
Sąsajos kodas įdėtas į numatytąjį html aplanką iš apache2. Šį aplanką rasite adresu/var/www/html.
Užpakalinei sistemai turite sukurti aplanką savo namų aplanke ir ten įdėti visą kodą.
Turime pakeisti ir kai kurias šio kodo vertes. Pirmiausia eikite į app.py. 23 eilutėje nustatykite vieno laido temperatūros jutiklio pavadinimą. Tikriausiai tai jums bus kažkas kitokio. Norėdami rasti tinkamą pavadinimą, atidarykite terminalą ir įveskite:
ls/sys/bus/w1/devices
ir ieškokite eilutės, susidedančios iš kelių skirtingų skaičių, ir pakeiskite 23 eilutėje esančią eilutę.
Kitas dalykas, kurį turime pakeisti, yra faile config.py, pakeiskite duomenų bazės slaptažodį.
Jei norite, kad tai būtų paleista įkrovos metu, turite pakeisti ir „EasyTalk.service“failą. Tiesiog pakeiskite „WorkingDirectory“ir „User“. Turite nukopijuoti šį failą naudodami šią komandą:
sudo cp EasyTalk.service/etc/systemd/system/EasyTalk.service
Tada paleiskite:
sudo systemctl paleiskite „EasyTalk.service“
Ir tada įjunkite, kad jis prasidėtų įkrovos metu
sudo systemctl įgalina „EasyTalk.service“
6 žingsnis: atvejis
Aš nusprendžiau atspausdinti korpusą 3D, kad jis būtų kuo mažesnis. Spaudinį sudaro 3 dalys, pati dėžutė, dangtelis ir garsiakalbių laikiklis, nes jame nėra skylių varžtams įsukti.
Norėdami viską sujungti, jums taip pat reikės paryškinimo.
- 6 x varžtai M2 x 6 mm
- 6 x varžtai M2 x 8 mm
- 3 x varžtai M2 x 16 mm
Nors būsiu sąžiningas. Man prireikė 4–5 valandų, kol sukūriau šį daiktą. Kadangi jis yra toks mažas, viskas tiesiog tinka ir kartais sunku įsukti paryškinimus, bet tai veikia, jei tai darote atsargiai.
Aš taip pat suprojektavau PCB, skirtą pakeisti duonos plokštę, pirmiausia turite lituoti antraštes ir 5 rezistorius (4 x 470 omų, 1 x 4,7 K omų).
Kai turite PCB, siūlau pradėti nuo litavimo kabelių prie visko, kas turėtų būti prijungta prie PCB.
Kai tai bus padaryta, įsukite OLED ekraną į vietą ir prijunkite PCB prie jo. Ekrane yra PCB. Tam naudojate 6 mm varžtus.
Tada įsukite oro kokybės jutiklį ten, kur jis turėtų eiti, tačiau tai yra šiek tiek sudėtinga, nes ADC prie jo jungiasi. Norėdami tai padaryti tinkamai, kad du komponentai nesiliestų vienas su kitu, turite naudoti 16 mm varžtus su 3 x 5 mm aliuminio vamzdeliais, kuriuos turite pjauti. Aš tai padariau dviem varžtais, nes negalėjau pasiekti trečiojo. Prijunkite 4 laidus prie PCB, kur jie turėtų būti.
Tada prijunkite garso stiprintuvą prie PCB ir įdėkite garsiakalbį į vietą su 3D spausdinimo laikikliu.
Atlikus šiuos veiksmus, sunkiausios dalys baigėsi, o visa kita galite prijungti prie PCB ir prisukti. Atkreipkite dėmesį, kad nuotraukose, kurias matote, aš naudoju kitą temperatūros jutiklį, galutiniam produktui aš naudoju temperatūros jutiklį su ilgu kabeliu, kuris išeina iš dėžutės, nes jis matavo šilumą iš dėžutės vidaus.
Kai visa tai yra, turite įsukti „Raspberry Pi“. Tam naudoju dėklą, nes nepasitikiu jo gaminama šiluma, šis dėklas yra skirtas apsaugai, kad 3D spausdinimas netirptų. Prieš įsukdami jį į vietą, turite prijungti maitinimo kabelį ir papildomą kabelį (prie kurio turite atidaryti ir prilituoti vieną laidą, o po to prijungti nuo Raspberry Pi prie PCB), nes po to negalite jo pasiekti.
Tada tiesiog prijunkite GPIO antraštės kabelį iš PCB prie „Raspberry Pi“ir prieš uždarydami dangtelį patikrinkite, ar viskas veikia.
Apačioje yra skylė, kurioje galite prijungti trikojį, tačiau tai neprivaloma.
Viskas! Tikiuosi, kad jums patiko skaityti šį straipsnį! -Kobė
Rekomenduojamas:
IRIS - lempa, kuri žino, kai esi šalia: 12 žingsnių (su nuotraukomis)
IRIS - lempa, kuri žino, kai esi šalia: Labas! Taip, visi yra karantine. Esu inžinerijos studentas. Anksčiau apsistodavau nakvynės namuose ir naktimis atlikdavau užduotis bei studijas. Dabar, kai esu namuose, mano šeimai tai nepatogu, nes visi čia įpratę miegoti
Paprastas „Arduino LoRa“bendravimas (daugiau nei 5 km): 9 žingsniai
Paprastas „Arduino LoRa“bendravimas (daugiau nei 5 km): Mes išbandysime E32-TTL-100 su savo biblioteka. Tai belaidis siųstuvo -imtuvo modulis, veikiantis 410 441 MHz (arba 868 MHz arba 915 MHz) dažniu, pagrįstu originaliu RFIC SX1278 iš SEMTECH, yra skaidrus perdavimas, TTL lygis. Modulis priima LORA
Bendravimas iš „Arduino“į mazgą: 4 žingsniai
Ryšys iš „Arduino“į mazgą: ši instrukcija skirta tik labai paprastam demonstravimui, kaip siųsti ir gauti duomenis per UART (serijinį) tarp dviejų „Arduino“suderinamų plokščių
LORA tarpusavio bendravimas su „Arduino“: 9 žingsniai
LORA tarpusavio bendravimas su „Arduino“: esu pradedantis elektronikos entuziastas ir tai yra mano pirmasis pamokomas dalykas, todėl prašau nesiginčyti savo komentaruose. Šioje pamokoje paaiškinsiu, kaip priversti du LORA mazgus tiesiogiai bendrauti be TTN (daiktų tinklo). Kas yra
Bendravimas nuo ESP iki ESP: 4 žingsniai
Bendravimas nuo ESP iki ESP: ši pamoka padės pakeisti kitus siųstuvo -imtuvo modulius bet kuriam kitam projektui, apimančiam belaidį ryšį. Mes naudosime ESP8266 pagrindu sukurtą plokštę, vieną -„WiFi -STA“režimu, o kitą -„WiFi -AP“režimu, „NodeMCU V3“yra mano pasirinkimas šiam projektui