驴友花雕 发表于 2020-5-6 13:46:34

//MicroPython动手做(23)——掌控板之WiFi与蓝牙
//测试掌控板蓝牙功能


//MicroPython动手做(23)——掌控板之WiFi与蓝牙
//测试掌控板蓝牙功能

#include <MPython.h>
#include "BluetoothSerial.h"
// 函数声明
void onButtonAPressed();
// 创建对象
BluetoothSerial SerialBT;


// 主程序开始
void setup() {
      Serial.begin(9600);
      mPython.begin();
      SerialBT.begin("mPython");
      buttonA.setPressedCallback(onButtonAPressed);
}
void loop() {
      if ((SerialBT.available())) {
                Serial.println((SerialBT.read()));
      }
}


// 事件回调函数
void onButtonAPressed() {
      SerialBT.write(1);
}

驴友花雕 发表于 2020-5-6 14:47:35

Mind+ 图形编程


驴友花雕 发表于 2020-5-6 14:54:56

程序上传后,在手机上下载安装蓝牙串口助手,打开手机蓝牙搜索配对。




驴友花雕 发表于 2020-5-6 14:59:05

打开下载好的蓝牙串口助手,在连接界面,选择我们已经配对好的“mPython”。




驴友花雕 发表于 2020-5-6 15:02:59

接下来就可以试试数据收发功能了,在手机端发送123,打开mind+串口,收到49 50 51(ASCII码类型的123,通过工具设置发送数据格式)。


驴友花雕 发表于 2020-5-6 15:06:08

然后我们按下掌控板A键,在手机端收到数据。



驴友花雕 发表于 2020-5-6 17:03:32

10、网络同步时区数码管时钟

#MicroPython动手做(23)——掌控板之WiFi与蓝牙
#网络同步时区数码管时钟

#MicroPython动手做(23)——掌控板之WiFi与蓝牙
#网络同步时区数码管时钟

from mpython import *

import network

my_wifi = wifi()

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

import ntptime

import framebuf

import font.digiface_44

import time

import font.digiface_21

def display_font(_font, _str, _x, _y, _wrap, _z=0):
    _start = _x
    for _c in _str:
      _d = _font.get_ch(_c)
      if _wrap and _x > 128 - _d: _x = _start; _y += _d
      if _c == '1' and _z > 0: oled.fill_rect(_x, _y, _d, _d, 0)
      oled.blit(framebuf.FrameBuffer(bytearray(_d), _d, _d,
      framebuf.MONO_HLSB), (_x+int(_d/_z)) if _c=='1' and _z>0 else _x, _y)
      _x += _d
ntptime.settime(8, "time.windows.com")
while True:
    oled.fill(0)
    display_font(font.digiface_44, (''.join( // 10, time.localtime() % 10, ':', time.localtime() // 10, time.localtime() % 10]])), 0, 0, False, 2)
    display_font(font.digiface_21, (str(time.localtime() // 10) + str(time.localtime() % 10)), 103, 45, False, 2)
    oled.show()

驴友花雕 发表于 2020-5-6 17:10:58

mPython 图形编程


驴友花雕 发表于 2020-5-6 20:31:49


驴友花雕 发表于 2020-5-8 20:36:48

11、通过音频模块播放网络歌曲

#MicroPython动手做(23)——掌控板之WiFi与蓝牙
#通过音频模块播放网络歌曲(掌控宝内置喇叭)

#MicroPython动手做(23)——掌控板之WiFi与蓝牙
#通过音频模块播放网络歌曲(掌控宝内置喇叭)

from mpython import *
import network
import audio
import time

my_wifi = wifi()

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


audio.player_init()
audio.set_volume(70)
audio.play("http://wiki.labplus.cn/images/4/4e/Music_test.mp3")
while True:
    oled.fill(0)
    oled.DispChar("播放网络歌曲", 30, 16, 1)
    oled.DispChar("春天在哪里", 35, 32, 1)
    oled.show()
    rgb = (int(0), int(51), int(0))
    rgb.write()
    time.sleep_ms(1)

播放网络音频
要播放网络上mp3音频文件,需要知道音频的URL地址。目前,大部分的音乐网受版权保护,并不直接提供音乐的URL,你可以通过一些插件爬取音频的URL地址。

注解
掌控板需要确保连接网络通畅。URL必须是完整的网络地址,否则无法解析。音频解码功能使用到 audio 模块的 audio.play(url) 函数, url 参数可以为音源的本地文件系统的路径或网络URL地址。

驴友花雕 发表于 2020-5-8 20:43:06

mPython X 图形编程



驴友花雕 发表于 2020-5-8 20:46:28


驴友花雕 发表于 2020-5-9 11:41:21

11、心知天气本地版

心知天气
是国内最早创立的商业气象服务公司之一,自创立以来,心知一直在数据层面努力积累,相继与中国气象局气象信息中心、国家预警信息发布中心达成战略合作伙伴关系,成为国内官方气象机构的数据授权商。与此同时,心知还与国内外多家商业公司、高校与科研机构合作,不断夯实数据基础。

于2009年推出的国内首个气象数据API,是心知天气最广受好评的产品。其凭借丰富的天气数据内容,与扎实的IT服务基础,成为企业用户最好的选择。心知天气数据API目前已经为蚂蚁金服、中国平安、美的、戴森、蔚来汽车、声智科技、瑞幸咖啡等数百家国内外知名企业提供企业级高精度气象数据服务,累计提供服务超630亿次。

心知天气插件3.0采用了全新的技术架构,支持全站数据通过插件展示:除天气实况与预报外,还可选择展示分钟级实时天气预警、专业空气质量数据、能见度、气压、湿度、风和云量等。支持专业数据展示,不仅扩充了天气插件的应用场景,更能激发天气插件潜力,提高可玩性。

注册链接https://www.seniverse.com/




驴友花雕 发表于 2020-5-9 11:57:23

#MicroPython动手做(23)——掌控板之WiFi与蓝牙
#心知天气本地版

#MicroPython动手做(23)——掌控板之WiFi与蓝牙
#心知天气本地版

from mpython import *
import network
import json
import urequests

my_wifi = wifi()

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

def get_seni_weather(_url, _location):
    _url = _url + "&location=" + _location.replace(" ", "%20")
    response = urequests.get(_url)
    json = response.json()
    response.close()
    return json


w1 = get_seni_weather("https://api.seniverse.com/v3/weather/daily.json?key=SMhSshUxuTL0GLVLS", "ip")
w2 = get_seni_weather("https://api.seniverse.com/v3/life/suggestion.json?key=SMhSshUxuTL0GLVLS", "ip")
oled.fill(0)
oled.DispChar((''.join(["location"]["name"], "   ", w1["results"]["daily"]["text_day"], "   ", w1["results"]["daily"]["low"], "- ", w1["results"]["daily"]["high"], " 度"]])), 0, 0, 1)
oled.DispChar((str("穿衣指数 : ") + str(w2["results"]["suggestion"]["dressing"]["brief"])), 0, 16, 1)
oled.DispChar((str("运动指数 : ") + str(w2["results"]["suggestion"]["sport"]["brief"])), 0, 32, 1)
oled.DispChar((str("紫外线指数 : ") + str(w2["results"]["suggestion"]["uv"]["brief"])), 0, 48, 1)
oled.show()

驴友花雕 发表于 2020-5-9 12:03:50

mPython X 图形编程


驴友花雕 发表于 2020-5-9 12:08:52


页: 1 [2]
查看完整版本: MicroPython动手做(23)——掌控板之WiFi与蓝牙