Мазмұны:

Смартфоннан сыра ашыту температурасы мен гравитациясын қалай басқаруға болады: 4 қадам (суреттермен)
Смартфоннан сыра ашыту температурасы мен гравитациясын қалай басқаруға болады: 4 қадам (суреттермен)

Бейне: Смартфоннан сыра ашыту температурасы мен гравитациясын қалай басқаруға болады: 4 қадам (суреттермен)

Бейне: Смартфоннан сыра ашыту температурасы мен гравитациясын қалай басқаруға болады: 4 қадам (суреттермен)
Бейне: Уй шаройитида 5 минутда сыр тайёрлаймиз// Домашний сыр 🧀 🧀 🧀Making glaze at home. 2024, Қараша
Anonim
Смартфоннан сыра ашыту температурасы мен гравитациясын қалай басқаруға болады
Смартфоннан сыра ашыту температурасы мен гравитациясын қалай басқаруға болады

Сыра ашытылған кезде оның ауырлығы мен температурасын күнделікті бақылау керек. Мұны ұмыту оңай, ал егер сіз алыс болсаңыз - мүмкін емес.

Біраз гуглингтен кейін мен гравитацияны автоматты бақылауға арналған бірнеше шешімдерді таптым (бір, екі, үш). Олардың бірі, өте ақылды тұжырымдамасы бар, Tilt деп аталады. Еңкейту сіздің сыраңызда жүзіп жүреді және көлбеу бұрышын өлшейді. Бұл бұрыш сұйықтықтың тығыздығына байланысты, сондықтан ашытатын сыраның ауырлығын өлшей алады.

Tilt мобильді қосымшамен бірге келеді, ол оған қосылады және кез келген веб -қызметке деректерді жібере алады. Мәселе мынада, бұл үшін Tilt -тен алыс емес болу керек. Сондай -ақ, Tilt -пен жұмыс істейтін Raspberry Pi бағдарламасы бар.

1 -қадам: Python -да көлбеу деректерді алу

Python -да көлбеу деректерді алу
Python -да көлбеу деректерді алу

Мен жертөле температурасын бақылау үшін 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 басқаларға ULEID кодында «Түсі» бар, BLE iBeacon ретінде көрінеді, ал температура мен ауырлық үлкен және кіші байттарда болады.

Олардың үлгі коды Node.js үшін, менде cloud4rpi үлгісіне негізделген Python басқару бағдарламасы бар

Сондықтан мен Python -да Tilt деректерін алуым керек. Біраз гуглингтен кейін мен https://github.com/switchdoclabs/iBeacon-Scanner-- Python iBeacon сканерін таптым. Бұл кітапхана емес, бағдарлама, сондықтан мен оны жолдың орнына сөздікті қайтару үшін өзгерттім. Сондай-ақ, мен ең бірінші табылған көлбеудің түсі, температурасы мен ауырлығын алу үшін Tilt арнайы модулін жаздым (менде бір ғана) және менің көлбеуімді көре алатынын тексеру үшін қарапайым тест бағдарламасы:

импорттық уақыт импорт қисайту

шындық кезінде:

res = tilt.getFirstTilt () басып шығару res time.sleep (2)

Жүгіріп, оның жұмыс істейтінін тексеріңіз. Енді мен оны басқару бағдарламасына қосуға болады. Менде cloud4rpi.io -ға қосылған python бағдарламасы бар, бірақ мен оны қалай нөлден қалай жасау керектігін көрсетуге рұқсат етіңіз.

2 -қадам: құрылғыны бұлтқа қосу

Құрылғыны бұлтқа қосу
Құрылғыны бұлтқа қосу
Құрылғыны бұлтқа қосу
Құрылғыны бұлтқа қосу

Алдымен cloud4rpi.io жүйесіне кіріңіз, содан кейін жаңа құрылғы жасаңыз.

Сізге құрылғы белгісі мен орнату нұсқаулары беріледі. Raspberry Pi үшін мына нұсқауларды орындаңыз https://docs.cloud4rpi.io/start/rpi/-сіздің жүйенің жаңартылғанына көз жеткізіңіз:

sudo apt update && sudo apt upgrade

Алғышарттарды орнатыңыз:

sudo apt install git python python-pip орнатыңыз

Cloud4rpi python бумаларын орнатыңыз:

sudo pip cloud4rpi орнатады

содан кейін Raspberry Pi үшін питон қосымшасының үлгісін алыңыз (басқару қалтасына):

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 control.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 ():

қайтару F2C (int (маяк ['Temp']))) егер басқа маяк Жоқ

def getGravity ():

қайтару маягы ['Гравитация'] егер басқа маяк Жоқ

def main ():

# Мұнда айнымалы мәлімдемелерді қойыңыз

айнымалылар = {'Ауырлық күші': {'түрі': 'сандық', 'байланыстыру': getGravity}, 'Сыра темпі': {'түрі': 'сандық', 'байланыстыру': getTemp}}

диагностика = {

'CPU Temp': rpi.cpu_temp, 'IP Address': rpi.ip_address, 'Host': gethostname (), 'Operating System': «».join (uname ())}

құрылғы = cloud4rpi.connect (DEVICE_TOKEN)

device.declare (айнымалылар) device.declare_diag (диагностика)

device.publish_config ()

# Құрылғы айнымалыларының жасалуын қамтамасыз ету үшін 1 секундтық кідіріс қосады

уақыт.ұйқы (1)

тырысу:

data_timer = 0 diag_timer = 0, ал True: егер data_timer <= 0: жаһандық маяк маягы = tilt.getFirstTilt () device.publish_data () data_timer = DATA_SENDING_INTERVAL

егер diag_timer <= 0: device.publish_diag () diag_timer = DIAG_SENDING_INTERVAL

уақыт.ұйқы (POLL_INTERVAL)

diag_timer -= POLL_INTERVAL data_timer -= POLL_INTERVAL

KeyboardInterrupt қоспағанда:

cloud4rpi.log.info ('Пернетақта үзілісі алынды. Тоқтатылуда …')

e сияқты ерекшеліктерді қоспағанда:

error = cloud4rpi.get_error_message (e) cloud4rpi.log.error («ERROR! %s %s», қате, sys.exc_info () [0])

соңында:

sys.exit (0)

егер _ аты _ == '_ негізгі _':

негізгі ()

Енді оны қолмен іске қосып, жұмыс істейтінін көріңіз:

sudo python control.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. Бұл мінсіз емес, ол тек бір ғана көлбеуде жұмыс істейді, ол құрылғының «түсі» туралы маңызды емес, және мен мүлде Python жігіті емеспін, сондықтан түзетулер, ұсыныстар немесе шанышқылар құпталады. !

Ұсынылған: