【雕爷学编程】MicroPython动手做(30)——物联网之Blynk 3

知识点:什么是掌控板?
掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED显示屏、RGB灯、加速度计、麦克风、光线传感器、蜂鸣器、按键开关、触摸开关、金手指外部拓展接口,支持图形化及MicroPython代码编程,可实现智能机器人、创客智造作品等智能控制类应用。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1、物联网(Internet of Things,缩写:IoT)

是基于互联网、传统电信网等信息承载体,让所有能行使独立功能的普通物体实现互联互通的网络。其应用领域主要包括运输和物流、工业制造、健康医疗、智能环境(家庭、办公、工厂)等,具有十分广阔的市场前景。

物联网的概念最早是在1999年由Kevin Ashton在一次演讲中提出来的,当时他是一个RFID研究机构的执行主任,这家研究机构是在宝洁公司和吉列公司的赞助下成立的。而他本人也因此被称为物联网之父。随后麻省理工学院的Neil Gershenfeld教授出版了一本名为《When things Start to Think》的书。以这些为标志,正式揭开了物联网的序幕。

物联网的英文是Internet of Things,缩写为IoT。这里的“物”指的是我身边一切能与网络联通的物品。例如你带的手表、你骑的共享单车、马路上的汽车、家里的冰箱、路边的路灯、甚至是一棵树。只要一件物品能够与网络相连,它就都是物联网中的“物”。而所谓物联网,就是“物”与人,以及“物”与“物”之间,通过网络来传递和处理信息。

在这里插入图片描述
Blynk
专为物联网而设计。它可以远程控制硬件,可以显示传感器数据,可以存储数据,对其进行虚拟化,还可以执行许多其他出色的工作。该平台包含三个主要组件:

1、Blynk应用程序——允许您使用我们提供的各种小部件为您的项目创建惊人的界面。

2、Blynk服务器——负责智能手机和硬件之间的所有通信。您可以使用我们的Blynk Cloud或在本地运行您的私有Blynk服务器。它是开源的,可以轻松处理数千个设备,甚至可以在Raspberry Pi上启动。

3、Blynk库——适用于所有流行的硬件平台-支持与服务器的通信并处理所有传入和传出的命令。

现在想像一下:每次在Blynk应用程序中按下Button时,消息就会传播到Blynk Cloud空间,神奇地在其中找到通向硬件的方式。它在相反方向上的作用相同,并且所有操作都在眨眼间发生。

在这里插入图片描述

3、远程开关控制板载RGB灯

连接服务器IP:116.62.49.166 端口: 8080

设置APP组件

在这里插入图片描述

#MicroPython动手做(30)——物联网之Blynk
#远程开关控制板载RGB灯

#MicroPython动手做(30)——物联网之Blynk
#远程开关控制板载RGB灯from mpython import *
import network
import blynklib
import time
import musicmy_wifi = wifi()my_wifi.connectWiFi("zh", "zy1567")blynk = blynklib.Blynk("N14sXx7xQ-rXQF4_gKIFjEQqCC_LzybL", server="116.62.49.166", port=8080)@blynk.handle_event("connect")
def connect_handler():print('Blynk connected')@blynk.handle_event("disconnect")
def connect_handler():print('Blynk disconnected')@blynk.handle_event('write V1')
def write_virtual_pin_handler(pin, _value):global ifor i in range(0, len(_value)):try: _value = eval(_value)except: passif len(_value) == 1: _value = _value[0]rgb.fill((int(153), int(0), int(0)))rgb.write()time.sleep_ms(1)music.play('G5:1')@blynk.handle_event('write V0')
def write_virtual_pin_handler(pin, _value):global ifor i in range(0, len(_value)):try: _value = eval(_value)except: passif len(_value) == 1: _value = _value[0]rgb.fill( (0, 0, 0) )rgb.write()time.sleep_ms(1)music.play('E5:1')oled.fill(0)
oled.DispChar("        网络已经连接", 0, 16, 1)
oled.show()
rgb[1] = (int(0), int(102), int(0))
rgb.write()
time.sleep_ms(1)
music.play('C5:1')
while True:blynk.run()

mPython X 实验图形编程

在这里插入图片描述

#MicroPython动手做(30)——物联网之Blynk
#远程开关控制板载RGB灯(实验视频)

https://v.youku.com/v_show/id_XNDcwNDMwMjQwNA==.html?spm=a2h0c.8166622.PhoneSokuUgc_1.dtitle

在这里插入图片描述

4、Blynk远程控制七彩灯
调整APP控制面板元素为

在这里插入图片描述

#MicroPython动手做(30)——物联网之Blynk
#Blynk远程控制七彩灯RGB

#MicroPython动手做(30)——物联网之Blynk
#Blynk远程控制七彩灯RGBfrom mpython import *
import network
import music
import blynklib
import timemy_wifi = wifi()my_wifi.connectWiFi("zh", "zy1567")blynk = blynklib.Blynk("CO1NhMoRAYxP3p3hBjvsqrrHmIoYzM0e", server="116.62.49.166", port=8080)@blynk.handle_event("connect")
def connect_handler():print('Blynk connected')@blynk.handle_event("disconnect")
def connect_handler():print('Blynk disconnected')@blynk.handle_event('write V0')
def write_virtual_pin_handler(pin, _value):global my_listfor i in range(0, len(_value)):try: _value = eval(_value)except: passif len(_value) == 1: _value = _value[0]my_list = _valuergb.fill( (int(my_list[0]), int(my_list[1]), int(my_list[2])) )rgb.write()time.sleep_ms(1)music.play('G5:1')
oled.fill(0)
oled.DispChar("    远程控制七彩灯RGB", 0, 16, 1)
oled.show()
rgb[1] = (int(0), int(102), int(0))
rgb.write()
time.sleep_ms(1)
while True:blynk.run()

mPython X 实验图形编程

在这里插入图片描述

#MicroPython动手做(30)——物联网之Blynk
#Blynk远程控制七彩灯RGB

https://v.youku.com/v_show/id_XNDcwNTIxNjAzNg==.html

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/20738.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

百分点科技跻身中国智慧应急人工智能解决方案市场前三

近日, 全球领先的IT市场研究和咨询公司IDC发布了《中国智慧应急解决方案市场份额,2022》报告,数据显示,2022年中国智慧应急整体市场为104亿元人民币。其中,智慧应急人工智能解决方案子市场备受关注,百分点科…

C# 文件读写 程序

//读写文件 public class ReadWriteFile { public static List<string> ReadFile(string path) { try { using (FileStream fileStream new FileStream(path, FileMode.Open, FileAccess.Read)) { Lis…

【Spring】反射动态修改Bean实例的私有属性值

Cannot cast org.springframework.http.client.InterceptingClientHttpRequestFactory to org.springframework.http.client.OkHttp3ClientHttpRequestFactory 由于RestTemplate在自定义初始化时顺序比较早&#xff0c;想在启动后跟进yum或者注解配置修改初始化的值时&#xff…

Django框架之路由用法

简介 路由简单的来说就是根据用户请求的 URL 链接来判断对应的处理程序&#xff0c;并返回处理结果&#xff0c;也就是 URL 与 Django 的视图建立映射关系。 Django 路由在 urls.py 配置&#xff0c;urls.py 中的每一条配置对应相应的处理方法。 Django 不同版本 urls.py 配…

浅谈Kubernetes中Service实现(服务注册和发现)

目录 Kubernetes服务发现原理 Kubelet CoreDNS(Kube-DNS) Kube-proxy kube-proxy的三种实现模式 User space模式 iptables模式 IPVS模式 之前浅谈Kubernetes的Service文章中介绍了Service组件的概念以及各种不同类型的service,其中ClusterIP类型的service实现了集群…

Shell ❀ Bash脚本调优方式详解

文章目录 1、简述2、脚本执行过程3、set3.1 set -u3.2 set-x3.3 set -e3.4 set -o pipefail3.5 总结3.6 取消Bash参数调优 1、简述 Linux服务器脚本开发和运维管理常使用Bash脚本&#xff0c;经常遇到以下场景&#xff1a; 未定义变量shell内默认设置为空&#xff0c;导致未定…

switch分支实现周一到周五的安排

switch分支实现周一到周五的安排 分析需求代码实现小结Time 唠嗑浅分析一下switch的执行流程 ①先执行switch(表达式) 中表达式的值&#xff0c;再拿这个值去与case后的值进行匹配。 ②与那个case后的值匹配为true就执行那个case块的代码&#xff0c;遇到break就跳出switch分支…

洛谷 P1119 灾后重建

原题链接&#xff1a; 灾后重建 - 洛谷 题目大意&#xff1a; 有n个村庄&#xff0c;村庄间有m条公路&#xff0c;一次地震将连向每个村庄的公路损坏&#xff0c;所以要进行维修&#xff0c;数据保证编号小的村庄维修时间更少&#xff0c;编号大的村庄维修时间更多。后面有q个…

固定资产管理软件

固定资产全生命周期管理软件采用先进的RFID技术&#xff0c;从采购、入库、借用、总结、清理到损坏等方面准确统计资产&#xff0c;突破过去手工统计的复杂性&#xff0c;节省资产资源&#xff0c;减少调查时间&#xff0c;确保资产管理工作的准确性和快速性。 固定资产管理软…

MySQL概述与体系结构

文章目录 一、MySQL概述1.1 MySQL与redis的区别1.2 数据处理分类1.3 SQL1.4 数据类型 二、数据库设计三范式2.1 范式一2.2 范式二2.3 范式三2.4 反范式 三、MySQL体系结构3.1 结构组成3.2 连接池 四、sql语句执行过程4.1 select语句4.2 CRUD执行过程 一、MySQL概述 1.1 MySQL与…

(YouTube)KDBA QML 学习笔记1

&#xff08;YouTube&#xff09;KDBA QML 学习笔记 旧版本(QML文件介绍) main.qml import QtQuick 2.0Text {text: "Hell World" }main.cpp #include <QtQuick>int mian(int argc, char *argn[]) {QGuiApplication app(argc, argv);//QT开始 QQuickvi…

【力扣】 12. 整数转罗马数字 模拟

力扣 12. 整数转罗马数字 解题思路 当某个位数的某个数不为4或9时&#xff0c;高位对应的字符总是在低位对应的字符前面。只有当该数为4或9时&#xff0c;低位对应的字符在高位前面。 根据这一特性&#xff0c;我们进行分类讨论。 1.当数为4时&#xff0c;则对应的罗马数为 10 …

一文带你了解TCP/IP模型以及封装和分用

文章目录 1. 网络协议2. OSI七层网络模型3.TCP/IP (五层/四层)4. 封装和分用 1. 网络协议 网络协议是计算机网络中用于规定数据在网络中传输和处理的规则&#xff0c;它定义了在网络中通信的格式、规范和顺序。网络协议可以分为不同的层次&#xff0c;每个层次负责不同的功能和…

Python模块psycopg2连接postgresql

目录 1. 基础语法 2. 基础用法 3. 多条SQL 4. 事务SQL 1. 基础语法 语法 psycopg2.connect(dsn #指定连接参数。可以使用参数形式或 DSN 形式指定。host #指定连接数据库的主机名。dbname #指定数据库名。user #指定连接数据库使用的用户名。…

Matlab实现Kmeans++算法(每行代码标注详细注解)

逐行代码讲解Kmeans算法的原理及其实现&#xff0c;后续将更新该算法的进一步优化的代码的讲解 目录 一、什么是Kmeans算法 二、Kmeans算法原理 三、Kmeans算法代码解析 四、总结 一、什么是Kmeans算法 K-means算法的优点是简单易实现&#xff0c;计算效率高&#xff0c;适…

寄存器详解(一)

目录 前言&#xff1a; 通用寄存器 示例&#xff1a; 通用寄存器的划分 汇编指令 cpu物理地址的形成 地址加法器运算示例&#xff1a; 1. 相关部件提供段地址和偏移地址 2. 段地址和偏移地址送入地址加法器 3. 段地址*16 4. 求出物理地址 5. 输出物理地址 段的概念 Deb…

[C++项目] Boost文档 站内搜索引擎(3): 建立文档及其关键字的正排 倒排索引、jieba库的安装与使用...

之前的两篇文章: 第一篇文章介绍了本项目的背景, 获取了Boost库文档 &#x1fae6;[C项目] Boost文档 站内搜索引擎(1): 项目背景介绍、相关技术栈、相关概念介绍…第二篇文章 分析实现了parser模块. 此模块的作用是 对所有文档html文件, 进行清理并汇总 &#x1fae6;[C项目] …

309. 买卖股票的最佳时机含冷冻期

给定一个整数数组prices&#xff0c;其中第 prices[i] 表示第 i 天的股票价格 。​ 设计一个算法计算出最大利润。在满足以下约束条件下&#xff0c;你可以尽可能地完成更多的交易&#xff08;多次买卖一支股票&#xff09;: 卖出股票后&#xff0c;你无法在第二天买入股票 …

牛客网Verilog刷题——VL56

牛客网Verilog刷题——VL56 题目答案 题目 实现4bit无符号数流水线乘法器设计。电路的接口如下图所示&#xff1a; 输入输出描述&#xff1a; 信号类型输入/输出位宽描述clkwireInput1系统时钟信号rst_nwireInput1异步复位信号&#xff0c;低电平有效mul_awireInputsize乘数mu…

Selenium Chrome Webdriver 如何获取 Youtube 悬停文本

导语 Youtube 是一个非常流行的视频分享平台&#xff0c;有时候我们可能想要爬取一些视频的信息&#xff0c;比如标题、播放量、点赞数等。但是有些信息并不是直接显示在网页上的&#xff0c;而是需要我们将鼠标悬停在某个元素上才能看到&#xff0c;比如视频的时长、上传时间…