Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Термометр Интернета вещей с использованием Python

Компоненты и расходные материалы

MikroE Flip &Click
× 1
Arduino Due
× 1
Фотон с частицами
× 1
NodeMCU ESP8266 Breakout Board
× 1
SparkFun Photon RedBoard
× 1
MikroE Temp &Hum Click
× 1
MikroE WiFi Plus Click
× 1
Espressif Wemos D1 Mini
× 1
Arduino Zero
× 1

Приложения и онлайн-сервисы

Zerynth Studio

Об этом проекте

Приложение Zerynth

Zerynth App - мобильное приложение для Android . и iOS что позволяет быстрое прототипирование графических интерфейсов для ваших проектов Интернета вещей .

С помощью приложения Zerynth вы можете превратить любой мобильный телефон в контроллер и дисплей для смарт-объектов и системы Интернета вещей ! В частности, вы можете управлять подключенными устройствами, запрограммированными с помощью Zerynth, обеспечивая двунаправленный канал связи между ними и вашим мобильным телефоном.

В этом руководстве мы увидим, как разработать простой, но мощный термометр Интернета вещей . , используя одноплатный микроконтроллер с питанием от Zerynth и приложение Zerynth в качестве удаленного дисплея.

Необходимые материалы

Прежде всего, вам понадобится доска. Вы можете выбрать одно из 32-битных микроконтроллеров, поддерживаемых Zerynth. Мы выбрали Flip &Click от Mikroelektronika, который имеет многие из тех же атрибутов, что и популярные платформы Arduino, включая 32-битный AT91SAM3X8E от Microchip, ядро Arduino Due.

Для измерения температуры мы выбрали Temp &Hum Click, который оснащен датчиком температуры и относительной влажности HTS221.

Для подключения платы к Интернету мы выбрали Wi-Fi PLUS Click, который поддерживает MRF24WB0MA - 2,4 ГГц, IEEE std. 802.11-совместимый модуль от Microchip , а также сопутствующий контроллер MCW1001 со встроенным стеком TCP / IP и диспетчером соединений 802.11.

И последнее, но не менее важное:вам необходимо:

  • Zerynth Studio , наша мощная IDE для встроенного программирования на Python, которая обеспечивает Интернет вещей. Вы можете скачать его здесь.
  • Приложение Zerynth . Вы можете скачать его здесь.

Сборка термометра Интернета вещей

Flip &Click - двусторонний кузен Arduino. С одной стороны, это Ардуино. Но с другой стороны, вы найдете четыре открытых разъема mikroBUS для того, что компания называет «досками управления». По сути, это дополнительные модули, которые напоминают щиты Arduino, но уменьшены в размерах, так что вы можете без проблем разместить несколько одновременно на Flip &Click. Просто добавьте щелчки Temp &Hum и Wifi Plus на плату соответственно в слот A и B.

Как запрограммировать термометр Интернета вещей с помощью Python

Клонировать пример

После того, как вы установили Zerynth Studio и создали пользователя Zerynth, вы можете клонировать пример « Осциллограф приложения Zerynth «. Посмотрите здесь, чтобы узнать, как клонировать пример.

Давайте посмотрим на исходный код в файле main.py ”:Здесь вы разрабатываете логику своего Python сценарий. Мы начнем с исходного кода, а затем отредактируем сценарий для разработки нашего конкретного проекта.

  #################################################################### ################################### IoT Термометр ########### ########################################################################### ######################### из беспроводного импорта Wi-Fi # этот пример основан на Particle Photon # измените следующую строку, чтобы использовать другой драйвер Wi-Fi из broadcom.bcm43362 import bcm43362 как wifi_driverimport streamsimport adc # Импортировать библиотеку Zerynth APP из zerynthapp import zerynthapp streams.serial () sleep (1000) print ("STARTING ...") try:# UID устройства и ТОКЕН можно создать на панели ADM zapp =zerynthapp.ZerynthApp ("DEVICE UID "," DEVICE TOKEN ", log =True) # подключиться к сети Wi-Fi (укажите SSID и пароль ниже) wifi_driver.auto_init () для i в диапазоне (0,5):try:wifi.link (" SSID " , wifi.WIFI_WPA2, "PASSWORD") break, кроме Exception как e:print ("Can't link", e) else:print ("Impossible to link!") while True:sleep (1000) # Запустите экземпляр приложения Zerynth! # Не забудьте создать шаблон с файлами в папке "template", которую вы только что клонировали # загрузите его в ADM и свяжите с подключенным устройством zapp.run () # Прочтите ADC и отправьте значения в ADM, пока True:sleep ( 1000) x =(adc.read (A4) * 100) // 4096 zapp.event ({"data":x}) if x> 95:# отправить мобильное уведомление # (существует ограничение на одно уведомление в минуту за устройство в изолированной программной среде ADM) zapp.notify («ALARM!», «Значение больше 95!») кроме Exception as e:print (e)  

В этом простом примере приложение Zerynth визуализирует графический осциллограф с данными, поступающими с подключенной платы. Данные поступают от аналогового датчика через «аналоговый» вывод A4.

Импортируйте нужный драйвер Wi-Fi и библиотеки датчиков

Как вы можете видеть в комментариях, этот пример основан на плате Particle Photon и ее драйвере Wi-Fi. Поскольку мы хотим использовать WiFi Plus Click, нам нужно изменить следующие строки:

  from broadcom.bcm43362 импортировать bcm43362 как wifi_driver  

в

  из microchip.mcw1001a импортировать mcw1001a как wifi_driver  

и

  wifi_driver.auto_init ()  

в

  wifi_driver.init (SERIAL2, D24) # слот B  

Затем мы хотим использовать датчик температуры Temp &Hum Click. Итак, мы должны добавить следующие строки для импорта библиотеки и настройки датчика, как вы можете прочитать в документации:

  # Импортировать библиотеку HTS221 из stm.hts221 import hts221 temp_hum =hts221.HTS221 (I2C0, D21) # слот A  

Чтобы прочитать датчик, просто напишите следующую строку там, где это необходимо:

  tmp, hum =temp_hum.get_temp_humidity () # Читать tmp и гул  

Задайте имя SSID и ПАРОЛЬ

Конечно, вы также должны отредактировать имя SSID и ПАРОЛЬ сети Wi-Fi, к которой вы хотите подключить плату, отредактировав эту строку:

  wifi.link ("SSID", wifi.WIFI_WPA2, "ПАРОЛЬ")  

Создать и настроить подключенное устройство

Теперь нам нужно создать «подключенное устройство» и связать с ним экземпляр «zerynthapp». Ниже вы можете увидеть несколько скриншотов с необходимыми действиями. Взгляните на этот документ, чтобы получить более подробную техническую информацию.

Учетные данные устройства ( UID и ТОКЕН ) можно копировать и вставлять прямо из Zerynth Studio (панель ADM). «IP» - это IP-адрес Zerynth ADM. Этот аргумент используется, когда сетевой драйвер не поддерживает разрешение имени хоста, как в этом случае.

Создайте, загрузите и установите шаблон

С помощью приложения Zerynth вы можете запускать красивый адаптивный графический пользовательский интерфейс с использованием HTML . , CSS и JavaScript . Код для Android или iOS не нужен!

Графический интерфейс каждого устройства размещен в песочнице Zerynth ADM и состоит из набора файлов HTML5, Javascript, CSS и изображений, которые загружаются и отображаются в приложении. Добавление в шаблон библиотеки JavaScript ADM позволяет приложению взаимодействовать с подключенным устройством как для получения, так и для отправки сообщений.

Шаблоны можно добавить, щелкнув соответствующий значок «плюс».

Затем загрузите шаблон из специальной папки. Обратите внимание, что файл, в котором определен шаблон, называется index.html . », И вы можете редактировать его, как хотите. В этом случае вы можете оставить все как есть.

После нескольких правок код должен выглядеть так:

  #################################################################### ################################### IoT Термометр ########### ########################################################################### ################## из беспроводного импорта wififrom microchip.mcw1001a import mcw1001a as wifi_driverimport streamsimport adc streams.serial () # Импортировать библиотеку Zerynth APP из zerynthapp import zerynthapp # Импортировать HTS221 libraryfrom stm.hts221 import hts221 temp_hum =hts221.HTS221 (I2C0, D21) # slot A sleep (1000) print ("STARTING ...") try:# UID устройства и TOKEN могут быть созданы в панели ADM zapp =zerynthapp. ZerynthApp ("DEVICE UID", "DEVICE TOKEN", ip ="178.22.65.123", log =True) # подключиться к сети Wi-Fi (укажите SSID и пароль ниже) wifi_driver.init (SERIAL2, D24) # слот B для i в диапазоне (0,5):try:wifi.link ("SSID", wifi.WIFI_WPA2, "PASSWORD") break except Exception as e:print ("Can't link", e) else:print ("Impossible связывать!") while True:sleep (1000) # Запускаем экземпляр приложения Zerynth! # Не забудьте создать шаблон с файлами в папке "шаблон", которую вы только что клонировали # загрузите его в ADM и свяжите с подключенным устройством zapp.run () # Считайте датчик и отправьте значения в ADM, пока True:спящий (1000) tmp, hum =temp_hum.get_temp_humidity () # Читать tmp и hum print ("Temp is:", tmp, "Humidity is:", hum) try:zapp.event ({"data":tmp}) except Исключение в виде e:print (e) if tmp>
 30:# send mobile notification # (в изолированной программной среде ADM есть ограничение на одно уведомление в минуту на одно устройство) try:zapp.notify («ALARM!», «High Temperature! ") Кроме исключения как e:print (e) за исключением исключения как e:print (e)  

Помните, что «UID УСТРОЙСТВА», «ЖЕТОН УСТРОЙСТВА», «SSID» и «ПАРОЛЬ» необходимо отредактировать, чтобы они соответствовали вашим собственным параметрам.

На этом этапе вы можете связать скрипт с вашим устройством.

Как увидеть панель управления IoT Thermometer в приложении Zerynth

Как вы можете прочитать в этом очень кратком руководстве, вам нужно просто открыть приложение Zerynth, войти в систему и выбрать конкретное устройство, чтобы увидеть панель управления IoT Thermometer. Наконец, приложение Zerynth также может получать push-уведомления . с подключенных устройств. В этом случае уведомление появится, когда температура будет выше порога!

Если у вас есть какие-либо вопросы, не стесняйтесь открывать обсуждение на форуме сообщества Zerynth.

Наслаждайтесь!

Код

  • Термометр Интернета вещей
Термометр Интернета вещей Python
 ########################################################################################## ################################# Осциллограф приложения Zerynth ############# ########################################################################### ################# from wireless import wififrom microchip.mcw1001a import mcw1001a as wifi_driverimport streamsimport adc streams.serial () # Импортировать библиотеку Zerynth APP из zerynthapp import zerynthapp # Импортировать библиотеку HTS221 из stm .hts221 import hts221 temp_hum =hts221.HTS221 (I2C0, D21) # slot A sleep (1000) print ("STARTING ...") try:# UID устройства и TOKEN могут быть созданы на панели ADM zapp =zerynthapp.ZerynthApp ( "DEVICE UID", "DEVICE TOKEN", ip ="178.22.65.123", log =True) # подключиться к сети Wi-Fi (укажите SSID и пароль ниже) wifi_driver.init (SERIAL2, D24) # слот B для i in range (0,5):try:wifi.link ("SSID", wifi.WIFI_WPA2, "PASSWORD") break except Exception as e:print ("Can't link", e) else:print ("Impossible to link ! ") While True:sleep (1000) # Запускаем экземпляр приложения Zerynth! # Не забудьте создать шаблон с файлами в папке "шаблон", которую вы только что клонировали # загрузите его в ADM и свяжите с подключенным устройством zapp.run () # Считайте датчик и отправьте значения в ADM, пока True:спящий (1000) tmp, hum =temp_hum.get_temp_humidity () # Читать tmp и hum print ("Temp is:", tmp, "Humidity is:", hum) try:zapp.event ({"data":tmp}) except Исключение в виде e:print (e) if tmp>
 30:# send mobile notification # (в изолированной программной среде ADM есть ограничение на одно уведомление в минуту на одно устройство) try:zapp.notify («ALARM!», «High Temperature! ") Кроме исключения как e:print (e) за исключением исключения как e:print (e) 

Схема


Производственный процесс

  1. Термометр
  2. Библиотека Python датчика температуры TMP006 с использованием Raspberry pi,
  3. Датчик температуры Python и Raspberry Pi
  4. Использование PSoC 6 Pioneer Board с Pioneer IoT Add-on Shield
  5. Как Интернет вещей разрушает мир вокруг нас
  6. Как установить Python в Windows [Pycharm IDE]
  7. Python переименовывает файл и каталог, используя os.rename()
  8. Вход в Facebook с использованием Python:пример входа в FB
  9. Среднее значение Python:как найти СРЕДНЕЕ значение списка в Python
  10. Python — отправка электронной почты с использованием SMTP