Obsah:
- Krok 1: Pripojenie hardvéru k pí
- Krok 2: Kódovanie hlavných programov
- Krok 3: Vytvorenie databázy
- Krok 4: Kódovanie hardvéru
- Krok 5: Skvelá práca
Video: Beargardian: 5 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Čaute chlapci do školy Potreboval som nápad na projekt. Tak som si myslel, že to musí byť projekt s malinovým pi a je lokálny. Zrazu som dostal skvelý nápad a nepýtajte sa ma, ako som ten nápad dostal, ale premýšľal som o aktualizácii detskej opatrovateľky. Zamyslite sa nad touto myšlienkou, väčšina detských monitorov má iba funkciu, ktorou je počúvať detskú izbu.
Vlastnosti
- Malá svetelná šou s nastaviteľnými farbami
- Fotoaparát, ktorý vám zobrazuje živé obrázky
- Reproduktor na prehrávanie hudby
- Senzory na zachytenie pohybu dieťaťa
- To všetko sa zobrazuje na webovej stránke
Krátke informácie
Vysvetlíme to v krátkej verzii. Takže potrebujeme webovú stránku a pre tento projekt používam Flask, tiež potrebujeme databázu a ja používam mysql, tiež skript, ktorý beží hardvér a je to s pythonom (3) a ako posledné potrebujeme nastavenie servera to by bolo nginx na PI.
Čo potrebujeme
- Raspberry Pi 3
- Nevlastný motor 28BYJ
- Krokový modul krokového motora ovládača čipu ULN2003
- RGB žiarovka s 3 odpormi 330Ohm
- Kamera Pi NoIR V2
- Ultrazvukový senzor HC-SR04
- Mikro modul od ardiuno
- MAX98357A
- Reproduktor 8 Ohm
- A nezabudnite si kúpiť medveďa
Nastaviť malinový pi ----------------------------------------------- ---------------------------------------------------------- --------------------------
Najprv musíme nastaviť Pi. Začnite sa už prihlasovať pomocou tmelu, ak nemáte tmel, odporúčame vám ho stiahnuť, jednoducho zadajte svoju statickú ip Pi pomocou ssh a idete na to. Ak musíte nainštalovať svoj Raspberry Pi, mám zlú správu, v tomto projekte to nevysvetľujem.
Nainštalujte balíky
sudo apt aktualizácia
sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3
Virtuálne prostredie
python3 -m pip install -upgrade pip setuptools wheel virtualenv
mkdir {názov priečinka vášho projektu} && cd {názov priečinka vášho projektu} python3 -m venv --system-site-packages env zdroj env/bin/aktivovať python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask- MySQL mysql-connector-python passlib
Teraz musíte klonovať úložisko git do priečinka projektu
github.com/NMCT-S2-Project-I/Project-I.git
Ak sa pozriete do priečinka projektu, musíte vidieť 5 priečinkov
- conf
- env
- snímač
- sql
- web
Databáza
sudo systemctl status mysql
ss -lt | grep mysql sudo mysql
vytvorte užívateľa v databáze so všetkými oprávneniami a vytvorte si databázu
vytvorte používateľa 'user'@'localhost' identifikovaného 'heslom';
vytvorte databázu meno_data; udeliť všetky oprávnenia pre vaše meno_databázy.* používateľovi@@localhost s možnosťou udelenia;
Konfiguračné súbory pre server
V uwsgi-flask.ini zmeníte 'module = …' na 'module = web: app' a cestu k vášmu virtuálnemu súboru, ktorý ste vytvorili. V ostatných súboroch musíte zmeniť cesty na skutočné absolútne cesty vášho adresára.
Keď ste na to prišli, môžete súbory nastaviť na správnom mieste.
sudo cp conf/project1-*. service/etc/systemd/system/
sudo systemctl daemon-reload sudo systemctl start project1-* sudo systemctl status project1-*
Teraz to musíme nastaviť
sudo cp conf/nginx/etc/nginx/sites-available/project1
sudo rm/etc/nginx/sites-enabled/default sudo ln -s/etc/nginx/sites-available/project1/etc/nginx/sites-enabled/project1 sudo systemctl restart nginx.service sudo nginx -t
Ak všetko prebehlo dobre, mali by ste s týmto príkazom pozdraviť svet
wget -qO - localhost
Hotový ! To je na tej časti, aby nechal váš systém bežať na …
Krok 1: Pripojenie hardvéru k pí
pomocou BCM
audio MAX98357A
- BCK na GPIO 18
- Údaje do GPIO 21
- LRCK na GPIO 19
svetlo
- červená na GPIO 17
- zelená na GPIO 27
- modrá na GPIO 22
motorový modul ULN2003
- kolík 1 na GPIO 5
- kolík 2 na GPIO 6
- kolík 3 na GPIO 13
- kolík 4 na GPIO 26
mikro
D0 až GPIO 21
ultrazvukový senzor
- trig na GPIO 16
- ozvena na GPIO 20
Krok 2: Kódovanie hlavných programov
Tu sa nedostávam do podrobností, ale môžete si pozrieť môj kód v github.
Na začiatku som urobil svoj html a css, index, prihlásenie, registráciu, úvodnú obrazovku, hudbu, addmusic, addbear, svetlo, fotoaparát, nastavenia kamery, senzor, stránku palubnej dosky. Súbory html musia byť v šablónach a súbory css v priečinku static/css. CSS si môžete úplne prispôsobiť, ako chcete.
Ak ste urobili túto časť, musíte nastaviť svoju banku. Flakón sa ľahko používa, je len príkladom ahoj sveta
# importná banka na začiatku
z banky import * @app.route ('/') def index (): return render_template ('index.html')
Teraz je to v mojom kóde už vyplnené. Jediná vec, ktorú musíte urobiť, je zmeniť používateľa databázy a heslo na to, ktoré ste zadali, a samozrejme vytvoriť rovnakú databázu, akú nájdete aj v github.
Krok 3: Vytvorenie databázy
Pre skutočných fanúšikov vám poviem, ako vytvoriť rovnakú databázu.
Najprv teda musíme vytvoriť databázu, ak ste to neurobili v prvom kroku.
vytvoriť databázu beargardian;
Akonáhle to urobíte, vytvoríte tabuľky v mysql workbench alebo phpadmin
užívateľská tabuľka má
- ID používateľa
- krstné meno
- priezvisko
- e -mail
- meno dieťaťa
- heslo s sha1
- užívateľský priečinok
- playmusic (int)
- svetielko (int)
- prehrávanie záznamu (int)
hudobný stôl má
- musicID
- pieseň
- cesta
- užívateľský priečinok
- postavenie
- objem
záznamový stôl má
- ID záznamu
- cesta
- užívateľský priečinok
- čas
- deň
tabuľka farieb má
- colorID
- červená
- zelená
- Modrá
- jas
- ID používateľa
medvedí stôl má
- bearID (desatinne (8))
- userID default null
- medvede meno
senzorový stôl má
- sensorID
- vzdialenosť
- mikro
- bearID
- čas
- deň
- čas na spanie
Takže teraz ste úspešne vytvorili databázu, poďme na hardvér.
Krok 4: Kódovanie hardvéru
Ukážem trochu kódu a poviem vám, prečo som to urobil.
Na začiatok som použil závitovanie, čo je v tomto projekte absolútnou nevyhnutnosťou. Čo je to závitovanie, hmmm, dobrá otázka! Hrozbou v pythone je spustenie viacerých programov naraz. Ak napríklad zmeníte farbu, môžete tiež nahrávať. Je to jednoduché použitie nebojte sa.
import _threaddef function_name (something, something_else): kód na spustenie
_thread.start_new_thread (function_name, tuple_with_the_functions_variables)
Ak ste sa pozreli na môj program, videli ste logger.info ('…'). Toto je funkcia tlače, ale oveľa lepšia, pretože na Pi nemôžete tlačiť veci, takže vytvorím súbor a vytlačím ho tam. S týmto kódom môžete nastaviť súbor denníka.
logger = logging.getLogger (_ name _) logger.setLevel (logging. INFO) # vytvoriť obslužnú rutinu obsluhy súboru = logging. FileHandler ('logger.log') handler.setLevel (logging. INFO)
# vytvorte formát protokolovania
formatter = logging. Formatter (' %(asctime) s - %(name) s - %(message) s') handler.setFormatter (formatter)
# pridajte obslužné rutiny do záznamníka
logger.addHandler (handler)
logger.info ('spustenie hardvéru / n ---------------------------------------')
ďalej v samotnom kóde všetko vysvetľujem.
Odporúča:
Počítadlo krokov - mikro: bit: 12 krokov (s obrázkami)
Počítadlo krokov - mikro: bit: Tento projekt bude počítadlom krokov. Na meranie našich krokov použijeme senzor akcelerometra, ktorý je vstavaný v Micro: Bit. Zakaždým, keď sa Micro: Bit zatrasie, pridáme k počtu 2 a zobrazíme ho na obrazovke
Akustická levitácia s Arduino Uno krok za krokom (8 krokov): 8 krokov
Akustická levitácia s Arduino Uno krok za krokom (8 krokov): Ultrazvukové meniče zvuku L298N Dc napájací adaptér ženského adaptéra s mužským DC kolíkom Arduino UNOBreadboard Ako to funguje: Najprv nahráte kód do Arduino Uno (je to mikrokontrolér vybavený digitálnym a analógové porty na prevod kódu (C ++)
Bolt - Nočné hodiny pre bezdrôtové nabíjanie DIY (6 krokov): 6 krokov (s obrázkami)
Bolt - Nočné hodiny bezdrôtového nabíjania DIY (6 krokov): Indukčné nabíjanie (tiež známe ako bezdrôtové nabíjanie alebo bezdrôtové nabíjanie) je typ bezdrôtového prenosu energie. Na prenos elektriny do prenosných zariadení používa elektromagnetickú indukciu. Najbežnejšou aplikáciou je bezdrôtové nabíjanie Qi
Ako rozobrať počítač pomocou jednoduchých krokov a fotografií: 13 krokov (s obrázkami)
Ako rozobrať počítač jednoduchými krokmi a obrázkami: Toto je návod, ako rozobrať počítač. Väčšina základných komponentov je modulárna a dá sa ľahko odstrániť. Je však dôležité, aby ste o tom boli organizovaní. Pomôže to zabrániť strate súčiastok a tiež pri opätovnej montáži
Od Roomby k Roveru iba 5 krokov!: 5 krokov
Od Roomby po Rover za pouhých 5 krokov !: Roboti Roomba sú zábavným a jednoduchým spôsobom, ako ponoriť prsty do nohy vo svete robotiky. V tomto návode podrobne popíšeme, ako previesť jednoduchú Roombu na ovládateľný rover, ktorý súčasne analyzuje svoje okolie. Zoznam dielov 1.) MATLAB2.) Roomb