找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2515|回復(fù): 2
收起左側(cè)

TPYBoardv202自制微信遠(yuǎn)程智能溫濕度計

[復(fù)制鏈接]
ID:130183 發(fā)表于 2018-9-30 10:18 | 顯示全部樓層 |閱讀模式

智能時代一夜間什么都能遠(yuǎn)程了。創(chuàng)業(yè)者想著如何做智能產(chǎn)品,如何做遠(yuǎn)程控制。DIY愛好者也想著如何自制各種奇妙的工具。這里和大家一起學(xué)習(xí)制作一款廉價的智能溫濕度計。說它廉價是因為共計花費不過40元,說它智能是因為你可以通過手機(jī)微信時時知道該設(shè)備所在位置的溫濕度。

    一、申請微信推送服務(wù)

    能否實現(xiàn)微信推送服務(wù)的平臺有很多,這里我就不一一解釋了。我選用了「Server醬」,英文名「ServerChan」。你完全可以選用你認(rèn)為比較好用的平臺!窼erver醬」的申請方法:
    打開該網(wǎng)址<http://sc.ftqq點com/3.version>,開通并使用:

    1.登入:用GitHub賬號登錄網(wǎng)站 <https://sc.ftqq點com/?c=github&a=login>,點擊進(jìn)入“發(fā)送消息”頁面,就能獲得一個SCKEY <https://sc.ftqq點com/?c=code>。具體見:<http://sc.ftqq點com/?c=code>

    2.綁定:點擊“微信推送”頁面,掃碼關(guān)注同時即可完成綁定

    3.發(fā)消息:往 <https://sc.ftqq點com/SCKEY.send> 發(fā)GET請求,就可以在微信里收到消息啦

   二、我們開始DIY溫濕度計


   1、選擇合適的主控板

    更喜歡python編程的我,這里選用支持micropython的TPYBoard v202(esp8266)開發(fā)板。該開發(fā)板能夠直接用python進(jìn)行編程,功能還是比較強(qiáng)大的,甚至可用來作web服務(wù)器。這里我們主要是用其進(jìn)行溫濕度傳感器的控制及網(wǎng)絡(luò)請求。


    2、DHT11溫濕度傳感器

    DHT11是常用的溫濕度傳感器,網(wǎng)上可以很輕易就買到。簡單的講,就是可以用這個傳感器獲取的當(dāng)前環(huán)境的溫度和濕度。


    該傳感器使用非常簡單,有的有3個引腳,有的有4個引腳。我們在使用時,只用三個,分別為VCC(電源腳,接5V)、DATA(數(shù)據(jù)引腳)、GND(接地)。

   3、正確的連線方法
    TPYBoard v202與DHT11的具體接線對應(yīng)及實物圖

TPYBoard v202

DHT11傳感器

+5v

vcc

G5

DATA

GND

GND



    三、少不了的編程

    TPYBoard v202主要有兩個文件來控制,一個是boot,py,一個是main.py。我們只需要修改這兩個文件就可以完成程序的編寫。如果你對如何使用TPYBoard v202還不清楚,可以參照
    <http://docs.tpyboard點com/zh/latest/tpyboard/tutorial/v202/>。

1、編寫boot腳本

import network

  

import utime

  
  

pdcn = network.WLAN(network.STA_IF)

  

pdcn.active(True)

  

pdcn.connect('wifi賬號', 'wifi密碼')

  

utime.sleep(5)

  

if pdcn.isconnected():

  

    print("WiFi  is connected %s."%pdcn.ifconfig()[0])     

  

else:

  

    pdcn.active(False)

  

    utime.sleep(5)

  

    print("WiFi  cannot connect.")

2、編寫main.py腳本


# coding=utf-8

  

import urequests

  

import dht

  

import machine

  

from machine import Pin

  

import time  

  
  

class AlarmSystem:

  

     def __init__(self):

  

        self.d = dht.DHT11(machine.Pin(5))

  
  

     def dht11(self):

  

        try:

  

            self.d.measure()

  

            return 'Temp:'+str(self.d.temperature())+'°C---Hum:'+str(self.d.humidity())+'%'

  
  

        except:

  

            return '0'

  
  

     def push(self, result):

  

        title = "TPYBoardv202提示您:注意天氣變化保持健康心情"

  

        content =  'text='+title+'&'+'desp='+result

  

        url="https://sc.ftqq點com/你的密鑰.send?%s" % content

  

        r = urequests.get(url)

  

        r.close()

  
  

p2=Pin(2,Pin.OUT)

  

a = AlarmSystem()

  
  

def SendData():

  

     p2.value(not p2.value())

  

     data_= a.dht11()

  

     if(data_!='0'):

  

        print(data_)

  

        a.push(data_)

  

     else:

  

        print('GET Data Fail')

  
  

if __name__ == '__main__':

  
  

     while True:

  

        SendData()

  

        time.sleep(300)




    四、 成果分享

    到這里,工作完成,方糖就會給你,你就會看到顯示的溫濕度了。

回復(fù)

使用道具 舉報

ID:404423 發(fā)表于 2018-9-30 15:54 | 顯示全部樓層
666666666666666666學(xué)習(xí)
回復(fù)

使用道具 舉報

ID:406408 發(fā)表于 2018-10-12 10:10 來自手機(jī) | 顯示全部樓層
學(xué)習(xí)了
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表