산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

Python을 사용한 IoT 온도계

구성품 및 소모품

MikroE 플립 앤 클릭
× 1
Arduino Due
× 1
입자 광자
× 1
NodeMCU ESP8266 브레이크아웃 보드
× 1
SparkFun Photon 레드보드
× 1
MikroE Temp&Hum 클릭
× 1
MikroE WiFi 플러스 클릭
× 1
Espressif Wemos D1 미니
× 1
Arduino Zero
× 1

앱 및 온라인 서비스

제린스 스튜디오

이 프로젝트 정보

제린스 앱

Zerynth 앱은 Android용 모바일 애플리케이션입니다. 및 iOS 빠른 프로토타이핑 가능 그래픽 인터페이스 IoT 프로젝트 .

Zerynth 앱을 사용하면 모든 모바일을 스마트 개체의 컨트롤러 및 디스플레이로 전환할 수 있습니다. 및 IoT 시스템 ! 특히 Zerynth로 프로그래밍된 연결된 장치를 관리 및 제어할 수 있어 장치와 모바일 간의 양방향 통신 채널이 가능합니다.

이 가이드에서는 간단하지만 강력한 IoT 온도계를 개발하는 방법을 알아보겠습니다. , Zerynth 전원 단일 보드 마이크로컨트롤러와 Zerynth 앱을 원격 디스플레이로 사용

필수 자료

우선 보드가 필요합니다. Zerynth에서 지원하는 32비트 마이크로 컨트롤러 장치 중 하나를 선택할 수 있습니다. Microchip의 32비트 AT91SAM3X8E를 포함하여 인기 있는 Arduino 플랫폼과 동일한 속성을 많이 공유하는 Mikroelektronika의 Flip&Click을 선택했습니다. Arduino Due.의 핵심

온도를 측정하기 위해 HTS221 온도 및 상대 습도 센서를 탑재한 Temp&Hum Click을 선택했습니다.

보드를 인터넷에 연결하기 위해 MRF24WB0MA – 2.4GHz, IEEE std. 802.11 – Microchip의 호환 모듈 , 온보드 TCP/IP 스택 및 802.11 연결 관리자가 있는 MCW1001 컴패니언 컨트롤러.

마지막으로 다음이 필요합니다.

<울>
  • 제린스 스튜디오 , IoT를 가능하게 하는 Python의 임베디드 프로그래밍을 위한 강력한 IDE입니다. 여기에서 다운로드할 수 있습니다.
  • <울>
  • Zerynth 앱 . 여기에서 다운로드할 수 있습니다.
  • IoT 온도계 조립

    Flip&Click은 Arduino의 양면 사촌입니다. 한쪽에는 아두이노가 있습니다. 그러나 반대편에는 회사가 "클릭 보드"라고 부르는 4개의 개방형 mikroBUS 소켓이 있습니다. 본질적으로 이들은 Arduino 실드와 유사한 추가 모듈이지만 Flip &Click에서 문제 없이 몇 개를 동시에 장착할 수 있도록 축소되었습니다. Temp&Hum 및 Wifi Plus 클릭을 보드의 슬롯 A와 B에서 각각 추가하기만 하면 됩니다.

    Python을 사용하여 IoT 온도계를 프로그래밍하는 방법

    예제 복제

    Zerynth Studio를 설치하고 Zerynth 사용자를 만든 후에는 'Zerynth App Oscilloscope ". 여기에서 예제를 복제하는 방법을 알아보세요.

    "main.py의 원본 코드를 살펴보겠습니다. ” 파일:여기에서 Python 로직을 개발할 수 있습니다. 스크립트. 원본 코드에서 시작한 다음 스크립트를 편집하여 특정 프로젝트를 개발하겠습니다.

    <사전><코드>############################################# ###################################### IoT 온도계########### #################################################### ################### from wireless import wifi# 이 예제는 Particle Photon# 기반으로 다음 줄을 변경하여 다른 Wi-Fi 드라이버from broadcom.bcm43362 import bcm43362 as wifi_driverimport streamsimport adc # zerynthapp import zerynthapp streams.serial() sleep(1000)print("STARTING...") try:# ADM 패널에서 기기 UID 및 TOKEN을 생성할 수 있습니다. zapp =zerynthapp.ZerynthApp("DEVICE UID", "DEVICE TOKEN", log=True) # Wi-Fi 네트워크에 연결(아래에서 SSID 및 비밀번호 설정) wifi_driver.auto_init() for i in range(0,5):시도:wifi".link("SSID ,wifi.WIFI_WPA2,"PASSWORD") break 예외 e:print("Can't link",e) # Zerynth 앱 인스턴스 시작! # 방금 복제한 "템플릿" 폴더 아래에 파일로 템플릿을 생성하는 것을 잊지 마세요. # ADM에 업로드하고 연결된 기기와 연결합니다. zapp.run() # True인 동안 ADC를 읽고 값을 ADM으로 보냅니다. 1000) x =(adc.read(A4)*100)//4096 zapp.event({"data":x}) x>95인 경우:# 모바일 알림 전송 한도는 ADM 샌드박스의 기기) zapp.notify("ALARM!","값이 95보다 큽니다!") 예외 e:print(e) 제외

    이 간단한 예에서 그래픽 오실로스코프는 연결된 보드에서 오는 데이터를 사용하여 Zerynth 앱에 의해 시각화됩니다. 데이터는 "아날로그" 핀 A4를 통해 아날로그 센서에서 수집됩니다.

    올바른 Wi-Fi 드라이버 및 센서 라이브러리 가져오기

    주석에서 볼 수 있듯이 이 예제는 Particle Photon 보드와 Wi-Fi 드라이버를 기반으로 합니다. WiFi Plus Click을 사용하고 싶기 때문에 다음 줄을 변경해야 합니다.

    bcm43362에서 bcm43362를 wifi_driver로 가져오기 

    에서

    microchip.mcw1001a에서 mcw1001a를 wifi_driver로 가져오기 

    그리고

     wifi_driver.auto_init() 

    에서

     wifi_driver.init(SERIAL2,D24) # 슬롯 B 

    그런 다음 Temp&Hum Click의 온도 센서를 사용하려고 합니다. 따라서 설명서에서 읽을 수 있는 것처럼 라이브러리를 가져오고 센서를 설정하려면 다음 줄을 추가해야 합니다.

    # stm.hts221에서 HTS221 라이브러리 가져오기 import hts221 temp_hum =hts221.HTS221(I2C0, D21) # 슬롯 A 

    센서를 읽으려면 필요한 곳에 다음 줄을 작성하세요.

     tmp, hum =temp_hum.get_temp_humidity() # tmp 및 hum을 읽습니다. 

    SSID 이름 및 비밀번호 설정

    물론, 보드를 연결하려는 Wi-Fi 네트워크의 SSID 이름과 PASSWORD도 수정해야 합니다. 다음 줄을 수정하세요.

     wifi.link("SSID",wifi.WIFI_WPA2,"비밀번호") 

    연결된 기기 생성 및 설정

    이제 "연결된 장치"를 만들고 "zerynthapp" 인스턴스를 연결해야 합니다. 아래에서 필요한 단계가 포함된 스크린샷을 볼 수 있습니다. 자세한 기술 정보는 이 문서를 참조하세요.

    기기 자격 증명(UIDTOKEN ) Zerynth Studio(ADM 패널)에서 직접 복사하여 붙여넣을 수 있습니다. "IP"는 Zerynth ADM의 IP 주소입니다. 이 인수는 네트워크 드라이버가 이 경우와 같이 호스트 이름 확인을 지원하지 않을 때 사용됩니다.

    템플릿 생성, 업로드 및 설정

    Zerynth 앱을 통해 HTML을 사용하여 아름다운 반응형 그래픽 사용자 인터페이스를 실행할 수 있습니다. , CSS자바스크립트 . Android 또는 iOS 코드가 필요하지 않습니다!

    각 장치의 그래픽 인터페이스는 Zerynth ADM 샌드박스에서 호스팅되며 앱에 로드 및 표시되는 HTML5, Javascript, CSS 및 이미지 파일 세트로 구성됩니다. 템플릿에 ADM Javascript 라이브러리를 추가하면 앱이 메시지를 수신하고 전송하는 연결된 장치와 상호 작용할 수 있습니다.

    템플릿은 각각의 "더하기" 아이콘을 클릭하여 추가할 수 있습니다.

    그런 다음 전용 폴더에서 템플릿을 업로드합니다. 템플릿이 정의된 파일은 "index.html "를 입력하고 원하는 대로 편집할 수 있습니다. 이 경우 그대로 두셔도 됩니다.

    몇 가지 수정 후 코드는 다음과 같아야 합니다.

    <사전><코드>############################################# ###################################### IoT 온도계########### #################################################### ################### from wireless import wififrom microchip.mcw1001a import mcw1001a as wifi_driverimport streamsimport adc streams.serial() # zerynthapp import zerynthapp에서 Zerynth APP 라이브러리 가져오기 # HTS221 가져오기 libraryfrom stm.hts221 import hts221 temp_hum =hts221.HTS221(I2C0, D21) # 슬롯 A sleep(1000)print("STARTING...") try:# 장치 UID 및 TOKEN은 ADM 패널에서 생성할 수 있습니다. zapp =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):다음을 시도하세요. wifi.link("SSID",wifi.WIFI_WPA2,"PASSWORD") break 예외 e:'Can ' print 연결합니다!") while True:sleep(1000) # Zerynth 앱 인스턴스를 시작하세요! # 방금 복제한 "템플릿" 폴더 아래에 파일로 템플릿을 만드는 것을 잊지 마세요. # ADM에 업로드하고 연결된 기기와 연결합니다. zapp.run() # True:절전 모드일 때 센서를 읽고 ADM에 값을 보냅니다. (1000) tmp, hum =temp_hum.get_temp_humidity() # 읽기 tmp 및 험 print("Temp is:", tmp, "Humidity is:", hump except) Exception as e:print(e) if tmp> 30:# 모바일 알림 전송 ! ") 예외 예외 e:print(e) 예외 e:print(e)

    "DEVICE UID", "DEVICE TOKEN", "SSID" 및 "PASSWORD"는 자신의 매개변수에 맞게 편집해야 합니다.

    이 시점에서 스크립트를 장치에 업링크할 수 있습니다.

    Zerynth 앱에서 IoT 온도계 대시보드를 보는 방법

    이 매우 간단한 튜토리얼에서 읽을 수 있듯이, IoT 온도계 대시보드를 보려면 Zerynth 앱을 열고 로그인하고 특정 기기를 선택하기만 하면 됩니다. 마지막으로 Zerynth 앱은 푸시 알림도 받을 수 있습니다. 연결된 장치에서. 이 경우 온도가 임계값보다 높을 때 알림이 표시됩니다!

    질문이 있는 경우 주저하지 말고 Zerynth 커뮤니티 포럼에서 토론을 시작하십시오.

    즐기세요!

    <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

    코드

    <울>
  • IoT 온도계
  • IoT 온도계Python
    <사전>################################################# #################################### Zerynth 앱 오실로스코프############# #################################################### ################# from wireless import wififrom microchip.mcw1001a import mcw1001a as wifi_driverimport streamsimport adc streams.serial() # Import the Zerynth APP libraryfrom zerynthapp import zerynthapp # Import the HTS221 libraryfrom .hts221 import hts221 temp_hum =hts221.HTS221(I2C0, D21) # 슬롯 A sleep(1000)print("STARTING...") try:# 장치 UID 및 TOKEN은 ADM 패널에서 생성할 수 있습니다. zapp.Z =zerynth "DEVICE UID", "DEVICE TOKEN",ip ="178.22.65.123", log=True) # Wi-Fi 네트워크에 연결합니다(아래에서 SSID와 비밀번호를 설정하세요). wifi_driver.init(SERIAL2,D24) # i in용 슬롯 B range(0,5):시도:wifi.link("SSID",wifi.WIFI_WPA2,"PASSWORD") break 링크할 수 있음 !") while True:sleep(1000) # Zerynth 앱 인스턴스를 시작하세요! # 방금 복제한 "템플릿" 폴더 아래에 파일로 템플릿을 생성하는 것을 잊지 마십시오. # ADM에 업로드하고 연결된 기기와 연결합니다. zapp.run() # True인 동안 센서를 읽고 ADM에 값을 보냅니다. (1000) tmp, hum =temp_hum.get_temp_humidity() # 읽기 tmp 및 험 print("Temp is:", tmp, "Humidity is:", hump except) Exception as e:print(e) if tmp> 30:# 모바일 알림 전송 ! ") 예외 e:print(e) 예외 e:print(e)

    회로도


    제조공정

    1. 온도계
    2. Raspberry pi를 사용하는 TMP006 온도 센서 Python 라이브러리,
    3. Python 및 Raspberry Pi 온도 센서
    4. Pioneer IoT 애드온 실드와 함께 PSoC 6 파이오니어 보드 사용
    5. IoT가 우리 주변의 세상을 어떻게 변화시키고 있는지
    6. Windows에 Python을 설치하는 방법 [Pycharm IDE]
    7. Python os.rename()을 사용하여 파일 및 디렉토리 이름 바꾸기
    8. Python을 사용한 Facebook 로그인:FB 로그인 예
    9. Python Average:Python에서 목록의 AVERAGE를 찾는 방법
    10. Python - SMTP를 사용하여 이메일 보내기