Мазмуну:
- Жабдуулар
- 1 -кадам: Rasbian орнотуу
- 2 -кадам: Кодду алуу жана аны орнотуу
- 3 -кадам: Arduino Байланыш
- 4-кадам: Wiring Up Switch-it
- 5 -кадам: Кодду иштетүү
- 6 -кадам: (ОПЦИОНАЛДЫК) Турак жай
Video: Switch-it, реалдуу убакытта учурдагы өлчөө менен автоматтык розетка: 6 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:39
Мага автоматташтыруу, бир нерсе болушу керек болгондо көзөмөлдөө жөндөмү абдан жагат. Мени бул идеяны ойлонууга мажбурлаган нерсе: өз алдынча жасалган, автоматтык розетка. Бул жарыкты күйгүзүү керек болгондо, телефондорду заряддоо керек болгондо же экранды иштетүү керек болгондо пландаштыруу үчүн колдонулушу мүмкүн. Мунун баарынан тышкары, розетка аркылуу канча агым өтүп жатканын көрүү мүмкүнчүлүгүңүз бар.
Бул долбоор үчүн керектүү компоненттер:
Жабдуулар
Биз баштаардан мурун, булар меники сыяктуу Switch-IT кутучасын куруу үчүн сөзсүз керек болот. Бул жабдуулар сиздин аймакка жана учурдагы бааларга жараша болжол менен 50-100 евро турат.
Аппараттык
Электроника
- Raspberry pi 4
- 16gb (же андан көп) Micro SD-Card
- Arduino Uno
- 5V-3.3V Даража которгуч
- 5V реле модулу
- ACS712 20A - учурдагы модуль
- 1838 IR-Receiver 37.9 kHz модулу
- IR пульту (мен Elegoo колдоном)
- жалпы катод RGB
- 3 * 330Ω резисторлор
- баскычын басыңыз
- RFID-RC522
- LCD 1602A-1
- Niko дубал розеткасы
- 10K Ω потметр
- 230дан 5В - 7Ага чейин электр менен камсыздоо
Кабелдер
- USB-B-USB-A кабели
- USB-C электр кабели
- Ethernet кабели
Ар түрдүү
- Эркек-Аял Jumperwires
- Эркек-Эркек Jumperwires
- Solder qalay
- Кыскартуучу түтүк
Делонун атайын бөлүктөрү (ОПЦИОНАЛДЫК)
- 50 * жаңгактар жана калындар
- капкагы бар металл корпусу 40х40х5 см
- эки тараптуу скотч
- 6 * 1см бийиктиктеги аралык
- алып баруучу
- Velcro скотч
- кабелдик колдонмолор
Программалык камсыздоо
- balenaEtcher:
- PuTTy
- расбиан
- Visual Studio коду
- Arduino IDE
1 -кадам: Rasbian орнотуу
Биринчиден, биз Rasbian'ди SD-картага жарк эттиребиз. Биз муну balenaEtcher аркылуу жасайбыз.
- Open balenaEtcher
- Rasbian Сүрөт тандоо
- SD-картаңызды тандаңыз
- Жарк эттирилгенге чейин Flashти бир нече мүнөт күтө туруңуз
Жүктөө каталогуна APIPA кошуу: Биз RPIдеги орнотууларды программалоо жана конфигурациялоо үчүн APIPA дарегин колдонобуз. Бул үчүн:
- SD-картадагы жүктөө каталогуна кирүү
- "Cmdline.txt" ачуу
- Документтин аягына "169.254.10.1" кошуп, аны сактаңыз
- Жүктөө каталогуна "ssh" деп аталган файлды кошуңуз (БУЛ ФАЙЛГА ӨЗГӨРТҮҮ БЕРБЕҢИЗ)
- Муну аткаргандан кийин, сиз SD картаны компьютериңизден чыгарып салсаңыз болот.
PuTTy аркылуу RPIге жетет
Эми биз SD картаны RPIге туташтыра алабыз, RPIди компьютериңизге ethernet кабели аркылуу туташтыра алабыз.
RPIге туташуу үчүн PuTTy'ди APIPA дарегибиз менен колдонобуз.
- PuTTy ачуу
- Биздин APIPA дарегибизди хосттун аты катары толтуруңуз (169.254.10.1)
- Порт 22 экенин жана SSH тандалганын текшериңиз
- Эми сиз туташууну ача аласыз
- Демейки колдонуучу аты: pi
- Демейки сырсөз менен: малина
raspi-config орнотуулары
Raspi-config ачуу:
sudo raspi-config
- Колдонуучунун сырсөзүн өзгөртүү
- Локалдаштыруу параметрлеринде убакыт алкагын тандаңыз
- Wi-Fi тармагын Wi-Fi тармагынын жардамы менен орнотуңуз, анда сиз SSID жана Сырсөзүңүздү толтурушуңуз керек.
Python 3 орнотуу
Бул долбоордо биз Python колдонуп жатабыз, андыктан биз төмөнкү командаларды колдонуу менен Python2дин Python3 инстатына демейки абалды коёбуз.
update-alternatives-install/usr/bin/python python /usr/bin/python2.7 1
update-alternatives-install/usr/bin/python python/usr/bin/python3 2
Python пакеттери
Баары туура иштеши үчүн бизге бир нече пакеттер керек болот, негизинен Flask пакеттери жана биздин DataBase менен байланыш түзүү үчүн. Биз ал пакеттерди төмөнкү буйруктарды колдонуп орното алабыз:
pip Flask орнотуу
пип орнотуу Flask_cors пип орнотуу Flask_socketio пип орнотуу Python-mysql-connecton
Маалыматтар базасы
Кийинкиде биз маалымат базабызды башкаруу тутумун (MariaDB) орнотобуз, биз муну колдонобуз:
sudo apt install mariadb-server
Улантуу үчүн "Y" деп териңиз жана Enterди киргизиңиз. Бир нече секунддан кийин, орнотуу процесси аяктады жана MariaDB дээрлик колдонууга даяр.
Сырсөздү берүү үчүн төмөнкү буйрукту колдонуңуз:
sudo mysql_secure_installation
Андан кийин Enter баскычын басыңыз, анткени учурдагы сырсөз бош. Сырсөздү орнотуу үчүн "Y" баскычын басыңыз, эми сиз каалаган сырсөздү толтура аласыз, аны эстеп калууну унутпаңыз, анткени бизге арткы жана алдыңкы учтар ортосундагы туура байланышты түзүү үчүн керек.
Эми, "Y" баскычын 3 жолу басыңыз: анонимдүү колдонуучуларды жок кылуу, алыстан тамыр кирүүгө тыюу салуу жана тест базасын алып салуу. Акырында, артыкчылыктарды кайра жүктөө үчүн "Y" баскычын кайра басыңыз.
Азыр MariaDB жана бардык керектүү пакеттер ийгиликтүү орнотулду.
2 -кадам: Кодду алуу жана аны орнотуу
Эми бизде бардык пакеттер орнотулгандыктан, биз кодду ала алабыз.
Код Githubда жеткиликтүү, андыктан аны клондоштурууга болот:
git clone
Бул алдыңкы бет
git clone
Бул арткы бет
Маалыматтар базасын өзү орнотуу
Маалыматтар базасын орнотуу үчүн, төмөнкү командаларды колдонуп, backend папкасында турган.sql файлына өтүңүз (аны өз жолуңузга коюуну унутпаңыз.
mysql
mysql -u root -p switchit <your_Path_to_Backend_Repo/switchit.sqlден баш тартуу
Apache орнотуу
Азыр бизде бардык коддор жана маалымат базасы орнотулгандыктан, биз Apacheти орнотуп, анын арткы бетин иштете алабыз. Биз муну колдонобуз:
apt -get apache2 -y орнотуу
Андан кийин/var/ww/html файлдарын алдыңкы папкадан папкадагы файлдар менен алмаштырыңыз.
Эгерде баары жакшы болсо, анда сиздин веб -сайтыңызга APIPA дареги аркылуу туташуу керек: 169.254.10.1 браузериңизде.
3 -кадам: Arduino Байланыш
Учурдагы сенсорубузду жана RFID сенсорубузду окуу үчүн биз arduino колдонуп жатабыз, ан үчүн төмөндө берилген arduino кодун колдонуңуз. Аны USB-Aдан USB-B кабелине жана arduino IDE программасына жүктөп бериңиз. Жүктөлгөндө, arduino бөлүгү даяр болот.
Эми биз сериялык түзмөктүн атын PIден табышыбыз керек. Бул үчүн /boot/config.txt ичинде "enable_uart = 1" туура коюлганын текшериңиз. Ошондой эле "console = serial0, 115200" cmdline.txt файлынан чыгарылганын текшериңиз.
Андан кийин портторду колдонуп текшериңиз
ls -l /dev
Андан кийин сериялык аталыштардын бири Arduino болушу керек. Бул ысымды app.py'деги arduinocom функциясында толтуруңуз
ser = serial. Serial ('/dev/ttyS0', 9600)
Муну сериялык байланыш иштебесе гана жасаңыз.
4-кадам: Wiring Up Switch-it
Баарын туташтыруу абдан жөнөкөй, бирок сиз төмөнкүлөрдү эстен чыгарбооңуз керек:
- Дубал розеткасынан этият болуңуз, 230 вольт өлүмгө алып келиши мүмкүн.
- RPI менен Arduino ортосундагы байланыш үчүн деңгээл өзгөрткүчтү колдонууну тактаңыз.
- RGB ширетүүдөн мурун, кызыл жана жашыл төөнөгүчтү колдонгонуңузду текшериңиз. Муну алдын ала сынап көрүңүз!
- Районду иштетүүдөн мурун эч нерсе кыска туташпаганын текшериңиз.
5 -кадам: Кодду иштетүү
Азыр баары туура туташкан, биз программабызды иштете алабыз.
Аны баштоодо автоматтык түрдө иштетүү үчүн, төмөнкү файлды түзүңүз:
sudo nano myscript.service
Андан кийин чаптаңыз (өзүңүздүн app.py каталогуңузду колдонуңуз:
[Unit] Description = After Switchit = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory = // app.py каталогун өзгөртүү // StandardOutput = тукум кууп чыгуу StandardError = кайра баштоо = дайыма User = pi [Орнотуу] WantedBy = multi-user.target
Андан кийин "ctrl + X" баскычын басып,/etc/systemd/systemге көчүрүңүз.
Андан кийин аны автоматтык түрдө иштетүү үчүн төмөнкү буйрукту аткарыңыз:
sudo systemctl myscript.service иштетет
Бул тууралуу көбүрөөк маалыматты RaspBerry Pi сайтынан таба аласыз.
Кайра жүктөө жана бүттү
Эми сиз PIди өчүрүп күйгүзүңүз:
Sudo кайра жүктөө -h азыр
Сиз Switch-itти ушундай кылып жасайсыз!
Коштоо үчүн рахмат, бул пайдалуу болду деп үмүттөнөм. Эгер кандайдыр бир кеңешиңиз же пикириңиз болсо, комментарий калтыруудан тартынбаңыз.
6 -кадам: (ОПЦИОНАЛДЫК) Турак жай
Сиз турак -жайды толугу менен өз каалооңуз боюнча кура аласыз. Мен капкагы бар 40х40х5 см темир корпусту колдондум. Мен темирди колдонгондон бери, тешиктерди бургулап, аралыктагы нерселерди жер плитасынан түшүрүү керек болчу. Мен 5V, 3.3V жана gnd жеткиликтүү болгон борбордук чекитти колдонууну чечтим. Ар бир электрдик туташуу анын үстүндө кыскартуучу трубанын бир бөлүгү менен ширетилет. Кабелдик башкарууну жүргүзүү үчүн мен ташуучу боосу бар төшөмөлөрдү колдондум.
Сунушталууда:
Реалдуу убакытта кудуктун суу деңгээлин өлчөөчү: 6 кадам (сүрөттөр менен)
Реалдуу убакытта кудуктун суу деңгээлин өлчөөчү: Бул көрсөтмөлөр казылган кудуктарда колдонуу үчүн арзан баада, реалдуу убакытта суунун деңгээлин эсептегичти кантип курууну сүрөттөйт. Суунун деңгээли өлчөгүч казылган кудуктун ичине илинип, суунун деңгээлин күнүнө бир жолу өлчөп, маалыматтарды WiFi же уюлдук байланыш аркылуу жөнөтүү үчүн иштелип чыккан
Ардуино UNO жана SD-Card менен нымдуулукту жана температураны реалдуу убакытта кантип жаздыруу керек - DHT11 Proteusтагы маалыматтарды каттоочу симуляциясы: 5 кадам
Ардуино UNO жана SD-Card менен нымдуулукту жана температураны реалдуу убакытта кантип жаздыруу керек | DHT11 Data Logger Simulation in Proteus: Киришүү: салам, бул Liono Maker, бул жерде YouTube шилтемеси. Биз Arduino менен креативдүү долбоор түзүп, камтылган системаларда иштейбиз. Дата-Логгер: Маалыматты жазуучу (ошондой эле маалыматтарды жазуучу же маалымат жазгыч)-бул убакыттын өтүшү менен маалыматтарды жазуучу электрондук түзүлүш
EM издерин колдонуу менен реалдуу убакытта түзмөктү таануу: 6 кадам
EM изин колдонуу менен реалдуу убакытта түзмөктү таануу: Бул түзүлүш ар кандай электрондук түзмөктөрдү EM сигналдарына ылайык классификациялоого арналган. Ар кандай түзмөктөр үчүн алар чыгарган ар кандай EM сигналдары бар. Биз бөлүкчөлөрдү колдонуп электрондук түзмөктөрдү аныктоо үчүн IoT чечимин иштеп чыктык
MicroPython программасы: Коронавирус оорусунун (COVID-19) маалыматтарын реалдуу убакытта жаңыртуу: 10 кадам (сүрөттөр менен)
MicroPython программасы: Коронавирустук оорунун (COVID-19) маалыматтарын реалдуу убакытта жаңыртуу: Акыркы бир нече жумада дүйнө жүзү боюнча коронавирус оорусунун (COVID 19) тастыкталган учурларынын саны 100,000ден ашты, ал эми Дүйнөлүк саламаттыкты сактоо уюму (ДССУ) пневмониянын жаңы пандемиясы дүйнөлүк пандемияга айланды. Мен абдан
LightMeUp! реалдуу убакытта кросс-платформалуу LED Strip Control: 5 кадам (сүрөттөр менен)
LightMeUp! реалдуу убакытта кросс-платформалуу LED Strip Control: LightMeUp! Мен RGB LED-Stripти реалдуу убакытта көзөмөлдөө үчүн ойлоп тапкан система, ал эми чыгымдын төмөндүгүн жана иштин жогорку деңгээлин сактап турат. Сервер Node.js-де жазылган, ошондуктан cross -platformable.Менин мисалымда мен Raspberry Pi 3Bди узак мөөнөттүү колдонуу үчүн колдоном