【Windows 常用软件推荐】

  • 拒绝使用国产流氓软件,软件官网请Google

    1.浏览器:Chrome
    2.下载器:Free Download Manager
    3.防毒软件:Ariva Free Antivirus
    4.播放器:Potplayer
    5.压缩软件:7-zip
    6.文本编辑:Everedit
    7.效率工具:OneQuick
    8.效率工具:Listary
    9.科学地上网:Shadowsocks
    10.桌面:Wallpaper Engine
    11.弹窗广告拦截器

  • 【树莓派3+LCD1602 硬件连接 代码】

    • LCD 1602

    • 树莓派Model B Pin示意图:

    • 硬件连接(从上到下对应LCD1602 1-16号Pin)

      VSS,接地
      VDD,接5V电源
      VO,液晶对比度调节,接电位器(需要一个10k电位器)中间的引脚,电位器两边的引脚分别接5V和接地。
      RS,寄存器选择,接GPIO14
      RW,读写选择,接地,表示写模式
      EN,使能信号,接GPIO15
      D0,数据位0,4位工作模式下不用,不接
      D1,数据位1,4位工作模式下不用,不接
      D2,数据位2,4位工作模式下不用,不接
      D3,数据位3,4位工作模式下不用,不接
      D4,数据位4,接GPIO17
      D5,数据位5,接GPIO18
      D6,数据位6,接GPIO27
      D7,数据位7,接GPIO22
      A,液晶屏背光+,接5V
      K,液晶屏背光-,接地

      接好后通电就会显示一行空白,一行黑格子,如果什么也不显示,调节电位器电阻即可。

    • 代码

      Github : https://github.com/lifanxi/rpimenu

    解压后有 Adafruit_CharLCD.py 文件,运行此文件在LCD上会显示两行字符:LCD 1602 Test, 123456789ABCDEF。

    只需要在此文件上进行一下修改就可以自定义显示你想要的内容了(如果不是按上表的GPIO,记住修改)。

    【树莓派3 定时上传CUP温度到yeelink 代码】

    • CPUtemperature.py 代码
      
      #!/usr/bin/env python  
      
      import requests  
      import json  
      import time  
      
      file = open("/sys/class/thermal/thermal_zone0/temp")  
      CPUtemperature = float(file.read()) / 1000  
      file.close
      
      print "CPU Temperature :", CPUtemperature
      
      topost_CPUtemperature_payload={'value':CPUtemperature}
      
      url_CPUtemperature='你的传感器URL' 
      header={'U-ApiKey':'你的Apikey', 'content-type': 'application/json'}
      
      post_CPUtemperature = requests.post(url_CPUtemperature,headers=header,data=json.dumps(topost_CPUtemperature_payload))
      
    • yeelink.sh 代码
      
          sudo python /home/pi/yeelink.py
      
    • 运行
      
          sudo chmod +x /home/pi/yeelink.sh
      
    • 设置定时5分钟运行一次
      
          sudo crontab -e
      
    • 加入
      
      */5 * * * * /home/pi/yeelink.sh
      

    【树莓派3+DHT11温湿度传感器+定时上传yeelink 代码+数据过滤】

  • DHT11.py 代码
    
    #!/usr/bin/python
    
    import RPi.GPIO as GPIO
    import time
    import requests
    import json
    
    #Read data from DHT11
    def DHT11():
      channel = 17
      data = []
      j = 0
    
      GPIO.setmode(GPIO.BCM)
      time.sleep(1)
      GPIO.setup(channel, GPIO.OUT)
      GPIO.output(channel, GPIO.LOW)
      time.sleep(0.02)
      GPIO.output(channel, GPIO.HIGH)
      GPIO.setup(channel, GPIO.IN)
    
      while GPIO.input(channel) == GPIO.LOW:
           continue
    
      while GPIO.input(channel) == GPIO.HIGH:
           continue
    
      while j < 40:
           k = 0
           while GPIO.input(channel) == GPIO.LOW:
               continue
    
           while GPIO.input(channel) == GPIO.HIGH:
               k += 1
               if k > 100:
                   break
           if k < 8:
               data.append(0)
           else:
               data.append(1)
    
           j += 1
    
      #print "sensor is working."
      #print data
    
      humidity_bit = data[0:8]
      humidity_point_bit = data[8:16]
      temperature_bit = data[16:24]
      temperature_point_bit = data[24:32]
      check_bit = data[32:40]
    
      global humidity
      global temperature
      global check
      humidity_point = 0
      temperature_point = 0
      check = 0
      temperature = 0
      humidity = 0
    
      for i in range(8):
           humidity += humidity_bit[i] * 2 ** (7 - i)
           humidity_point += humidity_point_bit[i] * 2 ** (7 - i)
           temperature += temperature_bit[i] * 2 ** (7 - i)
           temperature_point += temperature_point_bit[i] * 2 ** (7 - i)
           check += check_bit[i] * 2 ** (7 - i)
    
      global tmp
      tmp = humidity + humidity_point + temperature + temperature_point
      GPIO.cleanup()
    
    def yeelink():
      print "DHT11 Temperature & Humidity Sensor"
      print "temperature :", temperature, "*C, humidity :", humidity, "%"
    
      mytemp = '%f' %temperature
      myhumi = '%f' %humidity
    
      topost_tmp_payload={'value':mytemp}
      topost_humidity_payload={'value':myhumi}
    
      url_tmp='你的传感器URL' 
      url_humidity='你的传感器URL'
      header={'U-ApiKey':'你的Apikey', 'content-type': 'application/json'}
    
      post_tem = requests.post(url_tmp,headers=header,data=json.dumps(topost_tmp_payload))
      post_humidity = requests.post(url_humidity,headers=header,data=json.dumps(topost_humidity_payload))
    
    DHT11()
    #Ignore the bad data
    while check != tmp:
        DHT11()
    yeelink() 
    
  • DHT11.sh 代码
    
        sudo python /home/pi/DHT11.py
    
  • 运行
    
        sudo chmod +x /home/pi/DHT11.sh
    
  • 设置定时5分钟运行一次
    
        sudo crontab -e
    
  • 加入
    
    */5 * * * * /home/pi/DHT11.sh