Мазмуну:

Смартфонуңуздан сыра ачытуу температурасын жана тартылуусун кантип көзөмөлдөө керек: 4 кадам (сүрөттөр менен)
Смартфонуңуздан сыра ачытуу температурасын жана тартылуусун кантип көзөмөлдөө керек: 4 кадам (сүрөттөр менен)

Video: Смартфонуңуздан сыра ачытуу температурасын жана тартылуусун кантип көзөмөлдөө керек: 4 кадам (сүрөттөр менен)

Video: Смартфонуңуздан сыра ачытуу температурасын жана тартылуусун кантип көзөмөлдөө керек: 4 кадам (сүрөттөр менен)
Video: [Как Титаник? ] 🇯🇵Японский паром Куренай (Беппу → Осака) 12-часовая поездка на спальном пароме 2024, Ноябрь
Anonim
Смартфонуңуздан сыра ачытуу температурасын жана тартылуусун кантип көзөмөлдөө керек
Смартфонуңуздан сыра ачытуу температурасын жана тартылуусун кантип көзөмөлдөө керек

Пиво ачытылып жатканда, анын салмагын жана температурасын күн сайын көзөмөлдөп туруу керек. Муну унутуу оңой, ал эми жокто мүмкүн эмес.

Бир аз гуглингден кийин, мен тартылуунун автоматташтырылган мониторинги үчүн бир нече чечимдерди таптым (бир, эки, үч). Алардын бири, абдан акылдуу түшүнүк менен, Tilt деп аталат. Tilt сиздин пивоңузда калкып жүрөт жана өзүнүн ийилүү бурчун өлчөп жатат. Бул бурч суюктуктун тыгыздыгына жараша болот, ошондуктан ачытуучу сыранын тартылуу күчүн өлчөй алат.

Tilt мобилдик тиркеме менен коштолот, ал ага туташат жана каалаган веб -кызматка маалыматтарды кое алат. Көйгөй сиз муну кыла алыш үчүн Тилттен алыс эмес жерде болушуңуз керек. Tilt менен иштеген Raspberry Pi программасы дагы бар.

1 -кадам: Pythonдо Tilt маалыматын алуу

Pythonдо Tilt маалыматтарды алуу
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 жигити эмесмин, андыктан оңдоолор, сунуштар же айрылар кабыл алынат !

Сунушталууда: