Мазмуну:
- 1 -кадам: Pythonдо Tilt маалыматын алуу
- 2 -кадам: Аспапты Булутка туташтыруу
- 3 -кадам: Булутка маалыматтарды жөнөтүү
- 4 -кадам: Акыркы жыйынтык
Video: Смартфонуңуздан сыра ачытуу температурасын жана тартылуусун кантип көзөмөлдөө керек: 4 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Пиво ачытылып жатканда, анын салмагын жана температурасын күн сайын көзөмөлдөп туруу керек. Муну унутуу оңой, ал эми жокто мүмкүн эмес.
Бир аз гуглингден кийин, мен тартылуунун автоматташтырылган мониторинги үчүн бир нече чечимдерди таптым (бир, эки, үч). Алардын бири, абдан акылдуу түшүнүк менен, Tilt деп аталат. Tilt сиздин пивоңузда калкып жүрөт жана өзүнүн ийилүү бурчун өлчөп жатат. Бул бурч суюктуктун тыгыздыгына жараша болот, ошондуктан ачытуучу сыранын тартылуу күчүн өлчөй алат.
Tilt мобилдик тиркеме менен коштолот, ал ага туташат жана каалаган веб -кызматка маалыматтарды кое алат. Көйгөй сиз муну кыла алыш үчүн Тилттен алыс эмес жерде болушуңуз керек. Tilt менен иштеген Raspberry Pi программасы дагы бар.
1 -кадам: Pythonдо Tilt маалыматын алуу
Мен буга чейин жертөлөнүн температурасын көзөмөлдөө үчүн Raspberry Pi жана cloud4rpi.io булут башкаруу панелин колдонуп жатам. Эгерде Tilt Raspberry Pi менен сүйлөшө алса, анда cloud4rpi ага туташтырылышы мүмкүн. Tilt зымсыз протоколду колдонуп жатат, андыктан сизге Raspberry Pi зымсыз чип менен керек болот (Rasbperry Pi 3 же Zero W).
Бактыга жараша, кээ бир үлгүлөрү бар Tilt программалык камсыздоосу үчүн GitHub репо бар. Https://github.com/baronbrew/tilt-scan баракчасына карасаңыз, Tilt башкаларга BLE iBeacon катары көрүнөт, UUIDде "Түсү" бар, температурасы жана тартылуусу чоң жана кичине байттарда.
Алардын үлгү коду Node.js үчүн, менде cloud4rpi шаблону негизделген Python башкаруу программасы бар
Ошентип, мен Pythonдо Tilt маалыматын алышым керек. Бир аз гуглингден кийин мен https://github.com/switchdoclabs/iBeacon-Scanner-- Python iBeacon сканерин таптым. Бул китепкана эмес, программа, ошондуктан мен аны саптын ордуна сөздүктү кайтаруу үчүн өзгөрттүм. Мен ошондой эле Tilt-конкреттүү модулун жаздым, эң биринчи түшүүнүн түсүн, температурасын жана тартылуу күчүн алуу үчүн (менде бирөө гана бар) жана менин ийилгенимди көрө аларын текшерүү үчүн жөнөкөй тест программасы:
импорт убактысын импорттоо
чын болсо:
res = tilt.getFirstTilt () басып чыгаруу убактысы.уйку (2)
Чуркап, иштээрин текшериңиз. Эми мен аны көзөмөлдөө программама кошо алам. Менде буга чейин cloud4rpi.io менен байланышкан питон программасы бар, бирок муну кантип нөлдөн баштоону көрсөтөйүн.
2 -кадам: Аспапты Булутка туташтыруу
Биринчиден, cloud4rpi.ioго кириңиз, андан кийин жаңы түзмөк түзүңүз.
Сизге түзмөктүн энбелгиси жана орнотуу көрсөтмөсү берилет. Raspberry Pi үчүн бул жердеги нускамаларды аткарыңыз https://docs.cloud4rpi.io/start/rpi/-тутумуңуздун жаңыртылгандыгын текшериңиз:
sudo apt update && sudo apt upgrade
Алдын ала шарттарды орнотуу:
sudo apt install python python-pip орнотуу
Cloud4rpi python пакеттерин орнотуңуз:
sudo pip cloud4rpi орнотот
анда Raspberry Pi үчүн үлгү python колдонмосун алыңыз (башкаруу папкасына):
git clone https://github.com/cloud4rpi/cloud4rpi-raspberryp… башкаруу
CD көзөмөлү
modify control.py - түзмөгүңүздүн энбелгисин сапта көрсөтүңүз
DEVICE_TOKEN = ‘_YOUR_DEVICE_TOKEN_’
Түзмөктүн өзгөрмөлүү декларацияларынан керексиз жазууларды алып салыңыз, түзмөктүн байланышын текшерүү үчүн CPUTempти гана калтырыңыз:
# Бул жерге өзгөрмө декларацияларды коюңуз = {'CPU Temp': {'type': 'numeric', 'bind': rpi.cpu_temp}}
Эми тестирлөөнү аткарыңыз:
sudo python башкаруу.py
Эгер баары ойдогудай болсо, түзмөгүңүздүн баракчасы дароо диагностикалык маалыматтар менен жаңыртылат.
3 -кадам: Булутка маалыматтарды жөнөтүү
Эми биз Tiltтин түсүн, температурасын жана тартылуу күчүн окуу жана билдирүү үчүн control.py өзгөртүүбүз керек. Жыйынтык мындай көрүнөт:
os импортунан unamefrom сокет импорт gethostname импорт sys импорт убактысы импорт cloud4rpi импорт rpi импорт тент
# Түзмөгүңүздүн энбелгисин бул жерге коюңуз. Токенди алуу үчүн, # https://cloud4rpi.io дарегине катталып, түзмөк түзүңүз. DEVICE_TOKEN = '_YOUR_DEVICE_TOKEN_'
# Туруктуулар
DATA_SENDING_INTERVAL = 60 # сек DIAG_SENDING_INTERVAL = 600 # сек POLL_INTERVAL = 0,5 # 500 мс
маяк = {}
def F2C (градус F):
кайтуу (градус F - 32) / 1.8
def getTemp ():
return F2C (int (маяк ['Temp']))) эгер башка маяк Жок
def getGravity ():
кайтаруу маягы ['Gravity'] эгер башка маяк Жок
def main ():
# Бул жерге өзгөрмө декларацияларды коюңуз
variables = {'Gravity': {'type': 'numeric', 'bind': getGravity}, 'Beer Temp': {'type': 'numeric', 'bind': getTemp}}
диагностика = {
'CPU Temp': rpi.cpu_temp, 'IP Address': rpi.ip_address, 'Host': gethostname (), 'Operating System': "".join (uname ())})
түзмөк = cloud4rpi.connect (DEVICE_TOKEN)
device.declare (variables) device.declare_diag (диагностика)
device.publish_config ()
# Түзмөктүн өзгөрмөлөрүнүн түзүлүшүн камсыз кылуу үчүн 1 секунддук кечигүүнү кошот
убакыт.уйку (1)
аракет кыл:
data_timer = 0 diag_timer = 0 Чынында: эгерде data_timer <= 0: глобалдык маяк маягы = tilt.getFirstTilt () device.publish_data () data_timer = DATA_SENDING_INTERVAL
эгер diag_timer <= 0: device.publish_diag () diag_timer = DIAG_SENDING_INTERVAL
time.sleep (POLL_INTERVAL)
diag_timer -= POLL_INTERVAL data_timer -= POLL_INTERVAL
KeyboardInterruptдон башка:
cloud4rpi.log.info ('Баскычтоптун үзгүлтүгү алынды. Токтоп…')
e сыяктуу өзгөчө учурларды кошпогондо:
ката = cloud4rpi.get_error_message (e) cloud4rpi.log.error ("ERROR! %s %s", ката, sys.exc_info () [0])
акыры:
sys.exit (0)
эгер _name_ == '_main_':
негизги ()
Эми анын иштээрин билиш үчүн кол менен иштетиңиз:
sudo python башкаруу.py
Эгерде баары жакшы болсо, сиз өзгөрмөлөрүңүздү интернеттен көрө аласыз.
Системанын башталышында control.py иштетүү үчүн, аны кызмат катары орнотуңуз. Cloud4rpi муну үчүн service_install.sh орнотуу скриптин камсыз кылат. Мен аны репоума киргиздим. Control.py кызмат катары орнотуу үчүн, иштетүү
sudo bash service_install.sh control.py
Эми сиз баштай аласыз | токтотуу | бул кызматты иштетүү менен кайра баштаңыз
sudo systemctl cloud4rpi.service баштайт
Кызмат мурунку абалын күйгүзүп турат, андыктан ал иштеп жаткан болсо, кайра жүктөө же электр энергиясын жоготуудан кийин иштеп калат.
4 -кадам: Акыркы жыйынтык
Бул мен үчүн, азыр менин Tilt параметрлерим булутка жөнөтүлүп жатат, ошондуктан мен бул үчүн жакшы булут башкаруу панелин орното алам. Https://cloud4rpi.io/control-panels баракчасына өтүңүз жана жаңы башкаруу панелин түзүңүз, виджетти кошуп,/Gravity жана Beer Tempди маалымат булагы катары тандаңыз. Эми мен үйдөн алыс болсом дагы эмне болуп жатканын көзөмөлдөй алам.
Мен көчүргөн жана жазган код бул жерде жеткиликтүү: https://github.com/superroma/tilt-cloud4rpi. Бул идеалдуу эмес, ал бир гана Tilt менен иштейт, ал түзмөктүн "Түсүнө" маани бербейт, мен эч кандай Python жигити эмесмин, андыктан оңдоолор, сунуштар же айрылар кабыл алынат !
Сунушталууда:
Fadecandy жана иштетүү менен даректүү LEDди кантип көзөмөлдөө керек: 15 кадам (сүрөттөр менен)
Fadecandy жана Processing менен даректүү LEDлерди кантип көзөмөлдөө керек: WhatThis Fadecandy жана Processingти даректүү LEDдерди башкаруу үчүн кантип колдонуу боюнча этап-этабы менен үйрөткүч болуп саналат. (Бир нече Fadecandysти бир компьютерге туташтырсаңыз болот
PID жана Labview менен Үй температурасын көзөмөлдөө: 4 кадам
PID жана Labview менен үйдүн температурасын көзөмөлдөө: PID системасы жана системасы жаңы технологиялар менен жабдылган
Esp8266: 5 кадамдарды колдонуп, шаймандарды көзөмөлдөө жана аба ырайын көзөмөлдөө үчүн IoT түзмөгүн кантип жасоо керек
Esp8266 менен шаймандарды көзөмөлдөө жана аба ырайын көзөмөлдөө үчүн IoT түзмөгүн кантип жасоо керек: Интернеттин нерселери (IoT)-бул физикалык түзмөктөрдүн ("туташкан түзмөктөр" жана "акылдуу түзмөктөр" деп да аталат) имараттары, жана башка буюмдар - электроника, программалык камсыздоо, сенсорлор, аткаргычтар жана
Xbox Controller тарабынан жүздү көзөмөлдөө жана көзөмөлдөө менен кайыр суроочу робот - Arduino: 9 кадам (сүрөттөр менен)
Xbox Controller тарабынан жүздү көзөмөлдөө жана көзөмөлдөө менен кайыр суроочу робот - Arduino: Биз кайыр суроочу робот кылабыз. Бул робот кыжырдантууга же өтүп бара жаткан адамдардын көңүлүн бурууга аракет кылат. Бул алардын жүздөрүн аныктап, аларга лазер менен атууга аракет кылат. Эгер роботко тыйын берсеңиз, ал ыр ырдайт жана бийлейт. Роботко керек болот
Үй шаймандарын смартфонуңуздан Blynk App жана Raspberry Pi менен башкарыңыз: 5 кадам (сүрөттөр менен)
Үй шаймандарын смартфонуңуздан Blynk App жана Raspberry Pi менен башкарыңыз: Бул долбоордо биз үй шаймандарын башкаруу үчүн Blynk тиркемесин жана Raspberry Pi 3 колдонууну үйрөнөбүз (кофе жасоочу, чырак, терезе пардасы жана башкалар … Аппараттын компоненттери: Raspberry Pi 3 Relay Lamp Breadboard Wires Программалык камсыздоонун колдонмолору: Blynk A