雕爷学编程

  • 42 主题
  • 1226 帖子
  • 2389 积分
  • 身份:LV5 资深技术员
  • 论坛新秀 灌水之王
  • E币:2144

MicroPython动手做(27)——物联网之微信小程序

本帖最后由 雕爷学编程 于 2020-6-3 14:08 编辑

1、微信小程序

小程序的一种,英文名Wechat Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。全面开放申请后,主体类型为企业、政府、媒体、其他组织或个人的开发者,均可申请注册小程序。微信小程序、微信订阅号、微信服务号、微信企业号是并行的体系。

微信小程序是一种不用下载就能使用的应用,也是一项创新,经过将近两年的发展,已经构造了新的微信小程序开发环境和开发者生态。微信小程序也是这么多年来中国IT行业里一个真正能够影响到普通程序员的创新成果,已经有超过150万的开发者加入到了微信小程序的开发,与我们一起共同发力推动微信小程序的发展,微信小程序应用数量超过了一百万,覆盖200多个细分的行业,日活用户达到两个亿,微信小程序还在许多城市实现了支持地铁、公交服务。微信小程序发展带来更多的就业机会,2017年小程序带动就业104万人,社会效应不断提升。

2017年1月9日,张小龙在2017微信公开课Pro上发布的微信小程序正式上线。2018年2月,微信官方发布公告称:已对涉及假货高仿、色情低俗和违规“现金贷”等超过2000个微信小程序,进行永久封禁处理。2019年8月9日,微信向开发者发布新能力公测与更新公告,微信PC版新版本中,支持打开聊天中分享的微信小程序。
0.jpg

您需要登录后才可以评论 登录 | 立即注册

最新评论

楼层直达:

雕爷学编程

  • 42 主题
  • 1226 帖子
  • 2389 积分
  • 身份:LV5 资深技术员
  • 论坛新秀 灌水之王
  • E币:2144
#MicroPython动手做(27)——物联网之微信小程序
#通过小程序控制小车进、退、左和右


  1. #MicroPython动手做(27)——物联网之微信小程序
  2. #通过小程序控制小车进、退、左和右

  3. from mpython import *

  4. import network

  5. my_wifi = wifi()

  6. my_wifi.connectWiFi('zh', 'zy1567')

  7. import time

  8. import music

  9. from umqtt.simple import MQTTClient

  10. from machine import Timer

  11. import machine

  12. import ubinascii

  13. def OneNET_recv(_msg):pass
  14. _OneNET_msg_list = []
  15. def OneNET_callback(_topic, _msg):
  16.     global _OneNET_msg_list
  17.     try: _msg = _msg.decode('utf-8', 'ignore')
  18.     except: print(_msg);return
  19.     OneNET_recv(_msg)
  20.     if _msg in _OneNET_msg_list:
  21.         eval('OneNET_recv_' + bytes.decode(ubinascii.hexlify(_msg)) + '()')

  22. tim14 = Timer(14)

  23. _iot_count = 0
  24. def timer14_tick(_):
  25.     global _iot, _iot_count
  26.     _iot_count = _iot_count + 1
  27.     if _iot_count == 1000: _iot.ping(); _iot_count = 0
  28.     try: _iot.check_msg()
  29.     except: machine.reset()

  30. _iot = None
  31. def OneNET_setup():
  32.     global _iot
  33.     _iot = MQTTClient('595250725', '183.230.40.39', 6002, '221628', 'hiN7Cwz4Gd7d3ReMnNgtaEKBvv4=', keepalive=300)
  34.     _iot.set_callback(OneNET_callback)
  35.     if 1 == _iot.connect(): print('Successfully connected to MQTT server.')
  36.     tim14.init(period=200, mode=Timer.PERIODIC, callback=timer14_tick)

  37. import ujson

  38. import parrot

  39. def forward():
  40.     global _name, _value
  41.     parrot.set_speed(parrot.MOTOR_1, 80)
  42.     parrot.set_speed(parrot.MOTOR_2, 80)
  43.     oled.fill(0)
  44.     oled.blit(image_picture.load('face/Information/Forward.pbm', 0), 32, 0)
  45.     oled.show()

  46. def retreat():
  47.     global _name, _value
  48.     parrot.set_speed(parrot.MOTOR_1, -80)
  49.     parrot.set_speed(parrot.MOTOR_2, -80)
  50.     oled.fill(0)
  51.     oled.blit(image_picture.load('face/Information/Backward.pbm', 0), 32, 0)
  52.     oled.show()

  53. def right():
  54.     global _name, _value
  55.     parrot.set_speed(parrot.MOTOR_1, 80)
  56.     parrot.set_speed(parrot.MOTOR_2, -0)
  57.     oled.fill(0)
  58.     oled.blit(image_picture.load('face/Information/Right.pbm', 0), 32, 0)
  59.     oled.show()

  60. def Left():
  61.     global _name, _value
  62.     parrot.set_speed(parrot.MOTOR_1, -0)
  63.     parrot.set_speed(parrot.MOTOR_2, 80)
  64.     oled.fill(0)
  65.     oled.blit(image_picture.load('face/Information/Left.pbm', 0), 32, 0)
  66.     oled.show()

  67. def OneNET_recv(_msg):
  68.     try:
  69.         _msgObj = ujson.loads(_msg)
  70.         _name = _msgObj.get('name')
  71.         _value = _msgObj.get('value')
  72.     except: return
  73.     if _name == '进':
  74.         print(_value)
  75.         rgb.fill((int(0), int(102), int(0)))
  76.         rgb.write()
  77.         time.sleep_ms(1)
  78.         forward()
  79.     if _name == '退':
  80.         print(_value)
  81.         rgb.fill((int(51), int(51), int(255)))
  82.         rgb.write()
  83.         time.sleep_ms(1)
  84.         retreat()
  85.     if _name == '左':
  86.         print(_value)
  87.         rgb[0] = (int(0), int(102), int(0))
  88.         rgb.write()
  89.         time.sleep_ms(1)
  90.         Left()
  91.     if _name == '右':
  92.         print(_value)
  93.         rgb[2] = (int(0), int(102), int(0))
  94.         rgb.write()
  95.         time.sleep_ms(1)
  96.         right()
  97.     time.sleep(3)
  98.     parrot.set_speed(parrot.MOTOR_1, 0)
  99.     parrot.set_speed(parrot.MOTOR_2, 0)
  100.     rgb.fill( (0, 0, 0) )
  101.     rgb.write()
  102.     time.sleep_ms(1)

  103. image_picture = Image()
  104. rgb[1] = (int(102), int(0), int(0))
  105. rgb.write()
  106. time.sleep_ms(1)
  107. music.play('G5:1')
  108. OneNET_setup()


雕爷学编程

  • 42 主题
  • 1226 帖子
  • 2389 积分
  • 身份:LV5 资深技术员
  • 论坛新秀 灌水之王
  • E币:2144
本帖最后由 雕爷学编程 于 2020-6-3 17:20 编辑
  1. #MicroPython动手做(27)——物联网之微信小程序
  2. #带输入框的RGB三色调光板

  3. from mpython import *
  4. import network
  5. import time
  6. import music
  7. from umqtt.simple import MQTTClient
  8. from machine import Timer
  9. import machine
  10. import ubinascii
  11. import ujson

  12. my_wifi = wifi()

  13. my_wifi.connectWiFi("zh", "zy1567")

  14. def OneNET_recv(_msg):pass
  15. _OneNET_msg_list = []
  16. def OneNET_callback(_topic, _msg):
  17.     global _OneNET_msg_list
  18.     try: _msg = _msg.decode('utf-8', 'ignore')
  19.     except: print(_msg);return
  20.     OneNET_recv(_msg)
  21.     if _msg in _OneNET_msg_list:
  22.         eval('OneNET_recv_' + bytes.decode(ubinascii.hexlify(_msg)) + '()')

  23. tim14 = Timer(14)

  24. _iot_count = 0
  25. def timer14_tick(_):
  26.     global _iot, _iot_count
  27.     _iot_count = _iot_count + 1
  28.     if _iot_count == 1000: _iot.ping(); _iot_count = 0
  29.     try: _iot.check_msg()
  30.     except: machine.reset()

  31. _iot = None
  32. def OneNET_setup():
  33.     global _iot
  34.     _iot = MQTTClient("595250725", "183.230.40.39", 6002, "221628", "hiN7Cwz4Gd7d3ReMnNgtaEKBvv4=", keepalive=300)
  35.     _iot.set_callback(OneNET_callback)
  36.     if 1 == _iot.connect(): print('Successfully connected to MQTT server.')
  37.     tim14.init(period=200, mode=Timer.PERIODIC, callback=timer14_tick)

  38. def OneNET_recv(_msg):
  39.     try:
  40.         _msgObj = ujson.loads(_msg)
  41.         _name = _msgObj.get('name')
  42.         _value = _msgObj.get('value')
  43.     except: return
  44.     if _name == "输入":
  45.         print(_value)
  46.         music.play('B3:1')
  47.         rgb[1] = (int(51), int(102), int(255))
  48.         rgb.write()
  49.         time.sleep_ms(1)
  50.         oled.fill(0)
  51.         oled.DispChar(_value, 0, 23, 1)
  52.         oled.show()
  53.     if _name == "R":
  54.         print(_value)
  55.         rgb.fill( (int(_value), int((_value + 20)), int((_value - 20))) )
  56.         rgb.write()
  57.         time.sleep_ms(1)
  58.     if _name == "G":
  59.         print(_value)
  60.         rgb.fill( (int((_value + 20)), int(_value), int((_value - 20))) )
  61.         rgb.write()
  62.         time.sleep_ms(1)
  63.     if _name == "B":
  64.         print(_value)
  65.         rgb.fill( (int((_value - 20)), int((_value + 20)), int(_value)) )
  66.         rgb.write()
  67.         time.sleep_ms(1)


  68. rgb[1] = (int(0), int(102), int(0))
  69. rgb.write()
  70. time.sleep_ms(1)
  71. music.play('G4:1')
  72. OneNET_setup()

雕爷学编程

  • 42 主题
  • 1226 帖子
  • 2389 积分
  • 身份:LV5 资深技术员
  • 论坛新秀 灌水之王
  • E币:2144
6、小程序控制RGB灯升级版

  1. #MicroPython动手做(27)——物联网之微信小程序
  2. #小程序控制RGB灯升级版

  3. from mpython import *
  4. import network
  5. import time
  6. from umqtt.simple import MQTTClient
  7. from machine import Timer
  8. import machine
  9. import ubinascii
  10. import ujson
  11. import music

  12. my_wifi = wifi()

  13. my_wifi.connectWiFi("zh", "zy1567")

  14. def OneNET_recv(_msg):pass
  15. _OneNET_msg_list = []
  16. def OneNET_callback(_topic, _msg):
  17.     global _OneNET_msg_list
  18.     try: _msg = _msg.decode('utf-8', 'ignore')
  19.     except: print(_msg);return
  20.     OneNET_recv(_msg)
  21.     if _msg in _OneNET_msg_list:
  22.         eval('OneNET_recv_' + bytes.decode(ubinascii.hexlify(_msg)) + '()')

  23. tim14 = Timer(14)

  24. _iot_count = 0
  25. def timer14_tick(_):
  26.     global _iot, _iot_count
  27.     _iot_count = _iot_count + 1
  28.     if _iot_count == 1000: _iot.ping(); _iot_count = 0
  29.     try: _iot.check_msg()
  30.     except: machine.reset()

  31. _iot = None
  32. def OneNET_setup():
  33.     global _iot
  34.     _iot = MQTTClient("595250725", "183.230.40.39", 6002, "221628", "hiN7Cwz4Gd7d3ReMnNgtaEKBvv4=", keepalive=300)
  35.     _iot.set_callback(OneNET_callback)
  36.     if 1 == _iot.connect(): print('Successfully connected to MQTT server.')
  37.     tim14.init(period=200, mode=Timer.PERIODIC, callback=timer14_tick)

  38. image_picture = Image()

  39. def OneNET_recv(_msg):
  40.     try:
  41.         _msgObj = ujson.loads(_msg)
  42.         _name = _msgObj.get('name')
  43.         _value = _msgObj.get('value')
  44.     except: return
  45.     if _name == "开灯":
  46.         print(_value)
  47.         music.play('B5:1')
  48.         rgb.fill((int(255), int(0), int(0)))
  49.         rgb.write()
  50.         time.sleep_ms(1)
  51.         oled.fill(0)
  52.         oled.blit(image_picture.load('face/Objects/Light on.pbm', 0), 32, 0)
  53.         oled.show()
  54.     if _name == "关灯":
  55.         print(_value)
  56.         music.play('E5:1')
  57.         rgb.fill( (0, 0, 0) )
  58.         rgb.write()
  59.         time.sleep_ms(1)
  60.         oled.fill(0)
  61.         oled.blit(image_picture.load('face/Objects/Light off.pbm', 0), 32, 0)
  62.         oled.show()


  63. rgb[1] = (int(0), int(102), int(0))
  64. rgb.write()
  65. time.sleep_ms(1)
  66. OneNET_setup()


广告

雕爷学编程

  • 42 主题
  • 1226 帖子
  • 2389 积分
  • 身份:LV5 资深技术员
  • 论坛新秀 灌水之王
  • E币:2144
#MicroPython动手做(27)——物联网之微信小程序
#尝试通过小程序来控制板载RGB灯


  1. #MicroPython动手做(27)——物联网之微信小程序
  2. #尝试通过小程序来控制板载RGB灯

  3. from mpython import *
  4. import network
  5. import time
  6. from umqtt.simple import MQTTClient
  7. from machine import Timer
  8. import machine
  9. import ubinascii
  10. import ujson

  11. my_wifi = wifi()

  12. my_wifi.connectWiFi("zh", "zy1567")

  13. def OneNET_recv(_msg):pass
  14. _OneNET_msg_list = []
  15. def OneNET_callback(_topic, _msg):
  16.     global _OneNET_msg_list
  17.     try: _msg = _msg.decode('utf-8', 'ignore')
  18.     except: print(_msg);return
  19.     OneNET_recv(_msg)
  20.     if _msg in _OneNET_msg_list:
  21.         eval('OneNET_recv_' + bytes.decode(ubinascii.hexlify(_msg)) + '()')

  22. tim14 = Timer(14)

  23. _iot_count = 0
  24. def timer14_tick(_):
  25.     global _iot, _iot_count
  26.     _iot_count = _iot_count + 1
  27.     if _iot_count == 1000: _iot.ping(); _iot_count = 0
  28.     try: _iot.check_msg()
  29.     except: machine.reset()

  30. _iot = None
  31. def OneNET_setup():
  32.     global _iot
  33.     _iot = MQTTClient("595250725", "183.230.40.39", 6002, "221628", "hiN7Cwz4Gd7d3ReMnNgtaEKBvv4=", keepalive=300)
  34.     _iot.set_callback(OneNET_callback)
  35.     if 1 == _iot.connect(): print('Successfully connected to MQTT server.')
  36.     tim14.init(period=200, mode=Timer.PERIODIC, callback=timer14_tick)

  37. def OneNET_recv(_msg):
  38.     try:
  39.         _msgObj = ujson.loads(_msg)
  40.         _name = _msgObj.get('name')
  41.         _value = _msgObj.get('value')
  42.     except: return
  43.     if _name == "开灯":
  44.         print(_value)
  45.         rgb.fill((int(255), int(0), int(0)))
  46.         rgb.write()
  47.         time.sleep_ms(1)
  48.     if _name == "关灯":
  49.         print(_value)
  50.         rgb.fill( (0, 0, 0) )
  51.         rgb.write()
  52.         time.sleep_ms(1)


  53. rgb[1] = (int(0), int(102), int(0))
  54. rgb.write()
  55. time.sleep_ms(1)
  56. OneNET_setup()


雕爷学编程

  • 42 主题
  • 1226 帖子
  • 2389 积分
  • 身份:LV5 资深技术员
  • 论坛新秀 灌水之王
  • E币:2144
  1. #MicroPython动手做(27)——物联网之微信小程序
  2. #实时监控光线值和声音值

  3. from mpython import *
  4. import network
  5. import time
  6. import music
  7. from umqtt.simple import MQTTClient
  8. from machine import Timer
  9. import machine
  10. import ubinascii
  11. import json

  12. my_wifi = wifi()

  13. my_wifi.connectWiFi("zh", "zy1567")

  14. def OneNET_recv(_msg):pass
  15. _OneNET_msg_list = []
  16. def OneNET_callback(_topic, _msg):
  17.     global _OneNET_msg_list
  18.     try: _msg = _msg.decode('utf-8', 'ignore')
  19.     except: print(_msg);return
  20.     OneNET_recv(_msg)
  21.     if _msg in _OneNET_msg_list:
  22.         eval('OneNET_recv_' + bytes.decode(ubinascii.hexlify(_msg)) + '()')

  23. tim14 = Timer(14)

  24. _iot_count = 0
  25. def timer14_tick(_):
  26.     global _iot, _iot_count
  27.     _iot_count = _iot_count + 1
  28.     if _iot_count == 1000: _iot.ping(); _iot_count = 0
  29.     try: _iot.check_msg()
  30.     except: machine.reset()

  31. _iot = None
  32. def OneNET_setup():
  33.     global _iot
  34.     _iot = MQTTClient("595250725", "183.230.40.39", 6002, "221628", "hiN7Cwz4Gd7d3ReMnNgtaEKBvv4=", keepalive=300)
  35.     _iot.set_callback(OneNET_callback)
  36.     if 1 == _iot.connect(): print('Successfully connected to MQTT server.')
  37.     tim14.init(period=200, mode=Timer.PERIODIC, callback=timer14_tick)

  38. def pubdata(_dic):
  39.     print(_dic)
  40.     _list = []
  41.     for _key in list(_dic.keys()):
  42.         _d = {'id':_key,'datapoints':[{'value':_dic[_key]}]}
  43.         _list.append(_d)
  44.     _data = {'datastreams': _list}
  45.     j_d = json.dumps(_data)
  46.     j_l = len(j_d)
  47.     arr = bytearray(j_l + 3)
  48.     arr[0] = 1
  49.     arr[1] = int(j_l / 256)
  50.     arr[2] = j_l % 256
  51.     arr[3:] = j_d.encode('ascii')
  52.     return arr


  53. rgb[1] = (int(0), int(102), int(0))
  54. rgb.write()
  55. time.sleep_ms(1)
  56. music.play('G4:1')
  57. OneNET_setup()
  58. while True:
  59.     _iot.publish('$dp', pubdata({"xx":light.read()}))
  60.     _iot.publish('$dp', pubdata({"yy":sound.read()}))
  61.     time.sleep(1)


雕爷学编程

  • 42 主题
  • 1226 帖子
  • 2389 积分
  • 身份:LV5 资深技术员
  • 论坛新秀 灌水之王
  • E币:2144
4、登录小程序“掌控板物联网”

#MicroPython动手做(27)——物联网之微信小程序
#登录小程序“掌控板物联网”

  1. #MicroPython动手做(27)——物联网之微信小程序
  2. #登录小程序“掌控板物联网”

  3. from mpython import *
  4. import network
  5. from umqtt.simple import MQTTClient
  6. from machine import Timer
  7. import machine
  8. import ubinascii

  9. my_wifi = wifi()

  10. my_wifi.connectWiFi("zh", "zy1567")

  11. def OneNET_recv(_msg):pass
  12. _OneNET_msg_list = []
  13. def OneNET_callback(_topic, _msg):
  14.     global _OneNET_msg_list
  15.     try: _msg = _msg.decode('utf-8', 'ignore')
  16.     except: print(_msg);return
  17.     OneNET_recv(_msg)
  18.     if _msg in _OneNET_msg_list:
  19.         eval('OneNET_recv_' + bytes.decode(ubinascii.hexlify(_msg)) + '()')

  20. tim14 = Timer(14)

  21. _iot_count = 0
  22. def timer14_tick(_):
  23.     global _iot, _iot_count
  24.     _iot_count = _iot_count + 1
  25.     if _iot_count == 1000: _iot.ping(); _iot_count = 0
  26.     try: _iot.check_msg()
  27.     except: machine.reset()

  28. _iot = None
  29. def OneNET_setup():
  30.     global _iot
  31.     _iot = MQTTClient("595250725", "183.230.40.39", 6002, "221628", "hiN7Cwz4Gd7d3ReMnNgtaEKBvv4=", keepalive=300)
  32.     _iot.set_callback(OneNET_callback)
  33.     if 1 == _iot.connect(): print('Successfully connected to MQTT server.')
  34.     tim14.init(period=200, mode=Timer.PERIODIC, callback=timer14_tick)


  35. OneNET_setup()


雕爷学编程

  • 42 主题
  • 1226 帖子
  • 2389 积分
  • 身份:LV5 资深技术员
  • 论坛新秀 灌水之王
  • E币:2144

MicroPython动手做(27)——物联网之微信小程序
通过小程序控制小车进、退、左和右(实验视频)

https://v.youku.com/v_show/id_XN ... oneSokuUgc_1.dtitle



<iframe height=340 width=100% allowscriptaccess="always" src='https://player.youku.com/embed/XNDcwMDE3NTUwOA==' frameborder=0 allowfullscreen="true"></iframe>
广告

雕爷学编程

  • 42 主题
  • 1226 帖子
  • 2389 积分
  • 身份:LV5 资深技术员
  • 论坛新秀 灌水之王
  • E币:2144
MicroPython动手做(27)——物联网之微信小程序
通过小程序控制小车进、退、左和右(实验视频)


https://v.youku.com/v_show/id_XN ... oneSokuUgc_1.dtitle

<iframe height=340 width=100% allowscriptaccess="always" src='https://player.youku.com/embed/XNDcwMDE3NTUwOA==' frameborder=0 allowfullscreen="true"></iframe>

雕爷学编程

  • 42 主题
  • 1226 帖子
  • 2389 积分
  • 身份:LV5 资深技术员
  • 论坛新秀 灌水之王
  • E币:2144
2、打开微信搜索“掌控板物联网”小程序进行授权

01.jpg

雕爷学编程

  • 42 主题
  • 1226 帖子
  • 2389 积分
  • 身份:LV5 资深技术员
  • 论坛新秀 灌水之王
  • E币:2144

雕爷学编程

  • 42 主题
  • 1226 帖子
  • 2389 积分
  • 身份:LV5 资深技术员
  • 论坛新秀 灌水之王
  • E币:2144
添加掌控板,给掌控板取个名字,填上掌控板的mac地址

04-.jpg

05.jpg
广告

雕爷学编程

  • 42 主题
  • 1226 帖子
  • 2389 积分
  • 身份:LV5 资深技术员
  • 论坛新秀 灌水之王
  • E币:2144

雕爷学编程

  • 42 主题
  • 1226 帖子
  • 2389 积分
  • 身份:LV5 资深技术员
  • 论坛新秀 灌水之王
  • E币:2144
[color=#999999 !important]

3、登录mPython X 软件
编程软件登陆名要与手机微信登陆的帐号一致。曾经使用一个帐号登陆myphton X,用另一个手机号注册的微信号小程序查找,始终是设备不在线。说白了就是程序登陆的帐号要与微信号相同。


06.jpg


雕爷学编程

  • 42 主题
  • 1226 帖子
  • 2389 积分
  • 身份:LV5 资深技术员
  • 论坛新秀 灌水之王
  • E币:2144

雕爷学编程

  • 42 主题
  • 1226 帖子
  • 2389 积分
  • 身份:LV5 资深技术员
  • 论坛新秀 灌水之王
  • E币:2144
尝试好多次,我的掌控板终于能够“在线”了。

07 (1).jpg

雕爷学编程

  • 42 主题
  • 1226 帖子
  • 2389 积分
  • 身份:LV5 资深技术员
  • 论坛新秀 灌水之王
  • E币:2144

雕爷学编程

  • 42 主题
  • 1226 帖子
  • 2389 积分
  • 身份:LV5 资深技术员
  • 论坛新秀 灌水之王
  • E币:2144
添加组件——这里添加了“开关”和“按钮”,计二个

10 (1).jpg

雕爷学编程

  • 42 主题
  • 1226 帖子
  • 2389 积分
  • 身份:LV5 资深技术员
  • 论坛新秀 灌水之王
  • E币:2144
组件调整为二个按钮,开灯键值设置为1,关灯键值设置为0

11.jpg

雕爷学编程

  • 42 主题
  • 1226 帖子
  • 2389 积分
  • 身份:LV5 资深技术员
  • 论坛新秀 灌水之王
  • E币:2144

雕爷学编程

  • 42 主题
  • 1226 帖子
  • 2389 积分
  • 身份:LV5 资深技术员
  • 论坛新秀 灌水之王
  • E币:2144
123下一页
快速回复
62
255
广告
关闭 热点推荐上一条 /2 下一条
快速回复 返回列表