Mundarija:
- 1 -qadam: Python -da tilt ma'lumotlarini olish
- 2 -qadam: qurilmani bulutga ulash
- 3 -qadam: ma'lumotlarni bulutga yuborish
- 4 -qadam: Yakuniy natija
Video: Smartfondan pivo fermentatsiyasining harorati va tortishish kuchini qanday boshqarish mumkin: 4 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:28
Pivo achitganda, siz har kuni uning tortish kuchi va haroratini kuzatib borishingiz kerak. Buni unutish oson, va uzoqda bo'lmaganda imkonsizdir.
Biroz googlingdan so'ng, men tortishishning avtomatlashtirilgan monitoringi uchun bir nechta echim topdim (bir, ikki, uch). Ulardan biri, juda aqlli tushuncha bilan, Tilt deb nomlangan. Tilt sizning pivoingizda suzadi va o'z burilish burchagini o'lchaydi. Bu burchak suyuqlikning zichligiga bog'liq va shuning uchun achituvchi pivoning tortish kuchini o'lchashi mumkin.
Tilt mobil ilovasi bilan birga keladi, u unga ulanadi va har qanday veb -xizmatga ma'lumotlarni joylashtirishi mumkin. Muammo shundaki, buni amalga oshirish uchun siz Tiltdan unchalik uzoq bo'lmasligingiz kerak. Tilt bilan ishlaydigan Raspberry Pi dasturi ham mavjud.
1 -qadam: Python -da tilt ma'lumotlarini olish
Men allaqachon er osti haroratini kuzatish uchun Raspberry Pi va bulutli boshqaruv paneli cloud4rpi.io xizmatidan foydalanmoqdaman. Agar Tilt Raspberry Pi bilan gaplasha olsa, unga cloud4rpi ni ulash mumkin. Tilt simsiz protokoldan foydalanadi, shuning uchun sizga simsiz chipli Raspberry Pi kerak bo'ladi (Rasbperry Pi 3 yoki Zero W).
Yaxshiyamki, Tilt dasturiy ta'minoti uchun GitHub repo -si mavjud, ba'zi namunalar. Https://github.com/baronbrew/tilt-scan ga qarangki, Tilt boshqalarga BLE iBeacon sifatida qaraydi, UUIDda "Rang" yozilgan, harorat va tortishish katta va kichik baytlarda.
Ularning namuna kodi Node.js uchun va menda cloud4rpi shabloniga asoslangan Python boshqaruv dasturi bor
Shunday qilib, Pythonda Tilt ma'lumotlarini olishim kerak. Biroz googlingdan so'ng, men https://github.com/switchdoclabs/iBeacon-Scanner- Python iBeacon skanerini topdim. Bu kutubxona emas, dastur, shuning uchun uni satr o'rniga lug'atni qaytarish uchun o'zgartirdim. Men, shuningdek, Tilt-ga xos modul yozdim, u birinchi Tiltning rangini, haroratini va tortishishini (menda faqat bittasi bor) va mening Tilt-ni ko'rishi mumkinligini tekshirish uchun oddiy test dasturini yozdi:
import vaqtini import qilish
rost bo'lsa:
res = tilt.getFirstTilt () chop etish vaqti. uyqu (2)
Ishga tushiring va uning ishlashini tekshiring. Endi men uni boshqaruv dasturiga ulashim mumkin. Menda allaqachon cloud4rpi.io ga ulangan python dasturi bor, lekin buni noldan qanday qilishni ko'rsatib beray.
2 -qadam: qurilmani bulutga ulash
Birinchidan, cloud4rpi.io -ga kiring, so'ngra yangi qurilma yarating.
Sizga qurilma belgisi va o'rnatish ko'rsatmalari beriladi. Raspberry Pi uchun bu erdagi ko'rsatmalarga amal qiling https://docs.cloud4rpi.io/start/rpi/-tizimingiz yangilanganligiga ishonch hosil qiling:
sudo apt update && sudo apt upgrade
Old shartlarni o'rnating:
sudo apt install git python python-pip ni o'rnating
Cloud4rpi python paketlarini o'rnating:
sudo pip cloud4rpi -ni o'rnatadi
keyin Raspberry Pi uchun namuna python ilovasini oling (boshqaruv papkasida):
git klon https://github.com/cloud4rpi/cloud4rpi-raspberryp… nazorat
CD nazorati
modify control.py - satrda qurilmangiz tokenini ko'rsating
DEVICE_TOKEN = "_SIZNING_DEVICE_TOKEN_"
Qurilma o'zgaruvchilarining deklaratsiyalaridan keraksiz yozuvlarni olib tashlang, qurilma ulanishini tekshirish uchun faqat CPUTemp qoldiring:
# O'zgaruvchilar deklaratsiyasini bu erga qo'ying o'zgaruvchilar = {'CPU harorati': {'turi': 'raqamli', 'bog'lash': rpi.cpu_temp}}
Endi sinovdan o'ting:
sudo python control.py
Agar hamma narsa tartibda bo'lsa, qurilmangiz sahifasi darhol diagnostika ma'lumotlari bilan yangilanadi.
3 -qadam: ma'lumotlarni bulutga yuborish
Endi biz Tiltning rangi, harorati va tortishishini o'qish va xabar berish uchun control.py -ni o'zgartirishimiz kerak. Natija shunday ko'rinadi:
os import unamefrom dan soket import gethostname import sys import vaqti import cloud4rpi import rpi import tilt
# Qurilmangiz tokenini bu erga qo'ying. Belgini olish uchun, # https://cloud4rpi.io saytida ro'yxatdan o'ting va qurilma yarating. DEVICE_TOKEN = '_YOUR_DEVICE_TOKEN_'
# Doimiylar
DATA_SENDING_INTERVAL = 60 # soniya DIAG_SENDING_INTERVAL = 600 # soniya POLL_INTERVAL = 0,5 # 500 ms
mayoq = {}
def F2C (daraja F):
qaytish (darajaF - 32) / 1.8
def getTemp ():
qaytarish F2C (int (mayoq ['Temp']))) agar boshqa mayoq Yo'q
def getGravity ():
qaytaring mayoq ['Gravitatsiya'], agar boshqa mayoq Yo'q
def main ():
# O'zgaruvchan deklaratsiyalarni bu erga qo'ying
o'zgaruvchilar = {'Gravity': {'type': 'numeric', 'bind': getGravity}, 'Pivo harorati': {'type': 'numeric', 'bind': getTemp}}
diagnostika = {
'CPU harorati': rpi.cpu_temp, 'IP -manzil': rpi.ip_address, 'Xost': gethostname (), 'Operatsion tizim': "".join (uname ())})
qurilma = cloud4rpi.connect (DEVICE_TOKEN)
device.declare (o'zgaruvchilar) device.declare_diag (diagnostika)
device.publish_config ()
# Qurilma o'zgaruvchilari yaratilishini ta'minlash uchun 1 soniya kechikish qo'shiladi
uyqu (1)
harakat qilib ko'ring:
data_timer = 0 diag_timer = 0 rost bo'lsa: agar data_timer <= 0: global mayoq mayoq = tilt.getFirstTilt () device.publish_data () data_timer = DATA_SENDING_INTERVAL
agar diag_timer <= 0: device.publish_diag () diag_timer = DIAG_SENDING_INTERVAL
vaqt. uxlash (POLL_INTERVAL)
diag_timer -= POLL_INTERVAL data_timer -= POLL_INTERVAL
KeyboardInterruptdan tashqari:
cloud4rpi.log.info ("Klaviatura uzilishi qabul qilindi. To'xtatilmoqda …")
istisnolardan tashqari:
xato = cloud4rpi.get_error_message (e) cloud4rpi.log.error ("ERROR! %s %s", xato, sys.exc_info () [0])
nihoyat:
sys.exit (0)
agar _name_ == "_main_" bo'lsa:
asosiy ()
Endi uni ishlayotganini ko'rish uchun qo'lda ishga tushiring:
sudo python control.py
Agar hamma narsa yaxshi bo'lsa, siz o'zgaruvchilaringizni Internetda ko'rasiz.
Tizim ishga tushganda control.py -ni ishga tushirish uchun uni xizmat sifatida o'rnating. Cloud4rpi buning uchun service_install.sh skriptini o'rnatadi. Men buni repo -ga kiritdim. Control.py -ni xizmat sifatida o'rnatish uchun ishga tushiring
sudo bash service_install.sh control.py
Endi siz boshlashingiz mumkin | to'xtatish | bu xizmatni qayta ishga tushirish buyrug'i bilan
sudo systemctl cloud4rpi.service -ni ishga tushiring
Xizmat avvalgi holatini yoqadi, shuning uchun agar u ishlayotgan bo'lsa, u qayta yoqilganda yoki quvvat yo'qolganda ishlaydi.
4 -qadam: Yakuniy natija
Mana, endi men Tilt parametrlarini bulutga yuboraman, shuning uchun men bulutli boshqaruv panelini sozlay olaman. Https://cloud4rpi.io/control-panels-ga o'ting va yangi boshqaruv panelini yarating, vidjet qo'shing va/Gravity va Pivo harorati ma'lumot manbai sifatida tanlang. Endi men uydan uzoqda bo'lsam ham nima bo'layotganini kuzata olaman.
Men nusxa ko'chirgan va yozgan kod bu erda mavjud: https://github.com/superroma/tilt-cloud4rpi. Bu mukammallikdan yiroq, u faqat bitta qiyshayish bilan ishlaydi, u qurilmaning "rangi" haqida qayg'urmaydi, nima bo'lishidan qat'iy nazar, va men umuman Pythonchi emasman, shuning uchun tuzatishlar, takliflar yoki vilkalar qabul qilinadi. !
Tavsiya:
GoCro Hero 4 -ni RC transmitteridan qanday boshqarish mumkin: 4 qadam (rasmlar bilan)
GoPro Hero 4 -ni RC transmitteridan qanday boshqarish mumkin: Ushbu loyihaning maqsadi GoPro Hero 4 -ni RC uzatgichi orqali masofadan boshqarish. Bu usul GoPro -ning Wifi -da o'rnatilganidan foydalanadi. HTTP API qurilma nazorat qilish uchun & ilhomlangan PROTOTYPE: KUCHALI VA ARZON
Arduino va Ps2 masofadan boshqarish pulti yordamida 4dof yuqori quvvatli katta o'lchamli robot qo'lini qanday boshqarish mumkin?: 4 qadam
Arduino va Ps2 masofadan boshqarish pulti bilan 4dof yuqori quvvatli katta o'lchamli robot qo'lini qanday boshqarish mumkin?: Bu to'plamda yuqori quvvatli mg996 dvigateli ishlatiladi, u yuqori oqimga muhtoj, bizda ko'p quvvat manbai sinovi bor. Faqat 5v 6a adapter ishlaydi. Va arduino taxtasi 6dof robot qo'li ustida ham ishlaydi.end: yozing SINONING do'konini DIY o'yinchoq uchun sotib oling
Taymer funktsiyasi bilan televizorni masofadan boshqarish pulti yordamida uy jihozlarini qanday boshqarish mumkin: 7 qadam (rasmlar bilan)
Uy asbob -uskunalarini masofadan boshqarish pulti bilan taymer funktsiyasi yordamida qanday boshqarish mumkin: Iste'mol bozoriga 25 yil kirganidan keyin ham, infraqizil aloqa so'nggi kunlarda juda dolzarb bo'lib qolmoqda. Bu sizning 55 dyuymli 4K televizoringiz yoki avtomobilingizning ovoz tizimidan qat'i nazar, hamma narsaga javob berish uchun IQ masofadan boshqarish pulti kerak
Televizorni masofadan boshqarish pultini yoki boshqasini Arduino Irlib bilan qanday taqlid qilish mumkin: 3 qadam (rasmlar bilan)
Televizorni masofadan boshqarish pultini yoki boshqasini Arduino Irlib bilan qanday taqlid qilish mumkin: Kirish Hammaga salom va mening birinchi Instructable -ga xush kelibsiz, bugun biz sarlavhada aytilganidek, elektron televizorni masofadan boshqarish pultini yoki shunga o'xshash narsalarni Arduino (har qanday model) yordamida ishlatishni o'rganamiz. . Muammo shunday edi: kodlarni qanday o'zgartirish mumkin
Arduino yordamida o'zgaruvchan tok kuchini qanday o'lchash mumkin: 4 qadam
Arduino yordamida AC quvvat omilini qanday o'lchash mumkin: Hammaga salom! Bu mening uchinchi ko'rsatma, umid qilamanki, siz bu ma'lumotni topasiz :-) Bu Arduino yordamida quvvat faktorini o'lchashni o'rgatadi. Ishni boshlashdan oldin, yodda tutish kerak bo'lgan bir nechta narsa bor: bu faqat ishlaydi