[Micropython]TPYBoard v202 智能WIFI远控小车
转载请注明文章来源,更多教程可自助参考docs.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇
前言
----------------------
之前有过用TPYBoard v102制作的各种各样功能的智能小车,比如自动寻迹、自动避障、手机蓝牙遥控等。想着还缺个WIFI控制的,那就用TPYBoard v202做一个吧。
设计思路
-------------------------
WIFI是目前最有广泛运用的一项无线网络传输技术,覆盖范围广,可远程。本次实现了远程WIFI控制,不仅可以在家里操作,还可以接入一些云平台,实现远程操控。具体思路如下:
1、TPYBoard v202作为整个小车的核心控制部分,连接L298N电机驱动模块,实现小车的基本方向控制;
2、TPYBoard v202接入网络,开启Socket服务实现web服务器功能;
3、手机接入同一局域网,可通过浏览器访问控制页面,进行小车控制。
所需器件
---------------------------------
- TPYBoard v202开发板 1块
- USB数据线(MicroUSB) 1条
- L298N电机驱动模块 1个
- 小车套件包(底板、电机等) 1个
- 18650电池 2节
- 18650电池盒 1个
程序源码
----------------------------------
TPYBoard v202 源代码(main.py)
import socket #导入socket通信库
import machine
from machine import Pin g4 = Pin(4,Pin.OUT)
g5 = Pin(5,Pin.OUT)
g12 = Pin(12,Pin.OUT)
g13 = Pin(13,Pin.OUT) def Go():
g4.value(1)
g5.value(0)
g12.value(1)
g13.value(0)
def Back():
g4.value(0)
g5.value(1)
g12.value(0)
g13.value(1) def Left():
g4.value(1)
g5.value(0)
g12.value(0)
g13.value(0)
def Right():
g4.value(0)
g5.value(0)
g12.value(1)
g13.value(0)
def Stop():
g4.value(0)
g5.value(0)
g12.value(0)
g13.value(0)
#-----------------------HTTP Server-----------------------#
#ap模式下,默认ip地址为192.168.4.1
addr = ('192.168.4.1',80) #定义socket绑定的地址,ip地址为本地,端口为80
s = socket.socket() #创建一个socket对象
s.bind(addr) #绑定地址
s.listen(5) #设置允许连接的客户端数量
print('listening on:', addr)
while True:
cl, addr = s.accept() #接受客户端的连接请求,cl为此链接创建的一个新的scoket对象,addr客户端地址
print('client connected from:', addr)
cl_file = cl.makefile('rwb', 0) #返回与socket对象关联的文件对象。rwb:支持二进制模式的读写操作 0:默认值,不支持缓存
req = b''
while True:
line = cl_file.readline() #读取发送过来的数据,直到\r\n换行结束
if not line or line == b'\r\n':
break
req += line
print("Request:")
req=req.decode('utf-8').split('\r\n')
#http header 解析
req_data=req[0].lstrip().rstrip().replace(' ','').lower()
print(req_data)
if req_data.find('favicon.ico')>-1:
cl.close()
continue
else:
req_data=req_data.replace('get/?','').replace('http/1.1','')
index = req_data.find('key=')
value = req_data[index+4:index+6].lstrip().rstrip()
print('key:',value)
if value == 'go':
Go()
elif value == 'ba':
Back()
elif value == 'le':
Left()
elif value == 'ri':
Right()
else:
Stop()
with open("control.html", 'r') as f:
for line in f:
cl.send(line)
#cl.send(response) #返回html网页的数据
cl.close() #关闭socket
硬件的连接
----------------------------

网页效果
-------------------------

演示效果
-------------------------
`点击观看视频 <http://mpvideo.qpic.cn/0bf2hqaaeaaaveaa3ui5h5pfapgdai6aaaqa.f10002.mp4?dis_k=75bc9f531e0fe018cfc344a63c5fdc1d&dis_t=1579070805>`_
源码下载
--------------
`下载源码 <https://github.com/TPYBoard/TPYBoard-v202/tree/master/12.%E6%99%BA%E8%83%BDWIFI%E8%BF%9C%E6%8E%A7%E5%B0%8F%E8%BD%A6>`_
[Micropython]TPYBoard v202 智能WIFI远控小车的更多相关文章
- [Micropython]TPYBoard v202 利用单片机快速实现家庭智能控制平台
一提到智能家庭,大家可能首先想到的是各种大佬级公司搞的牛逼产品,或者说是创新产品.想想就觉得很复杂,有的用工控机,有的用树莓派,还有的用arduino,不管用什么,都绕不过服务器进行控制,比如yeel ...
- [Micropython]TPYBoard v202 v102+v202 家庭无线温湿度检测
一.实验器件 1.TPYBoard v102 1块 2.TPYBoard v202 1块 3.Nokia 5110LCD显示屏 1块 4.DHT11温湿度传感器 1个 5.micro USB 数据线 ...
- micropython TPYBoard v202 超声波测距
实验目的 了解超声波模块的工作原理 学习使用超声波模块测量距离 实验器材 TPYBoard v202 1块 超声波模块(HC-SR04)1个 micro USB数据线 1条 杜邦线 若干 超声波模块的 ...
- 小试牛刀 WiFi 远控 + wendu
废话 少说 直接上代码 DH11三根线 信号线 接2 WiFi 模块 r-------t t--------r en&vcc------3.3v 剩下的 共地的啦 double Fahre ...
- 邪恶改装:TPYBoard制作廉价WIFI干扰器
转载请注明:@小五义http://www.cnblogs.com/xiaowuyi 0X01 引言 想不想搞个WIFI干扰器?网上搜集了一下资料,发现用esp8266可以实现简单的干扰功能,包括断网. ...
- Python3实现ICMP远控后门(上)
这几天一直在研究远控木马的一些通信协议,比如TCP,UDP,ICMP,DNS,HTTP等等,对于TCP,UDP这两种就不讲解了,因为太常见了. 大家可能对采用ICMP,DNS的木马不是很熟悉,其实这两 ...
- Python3实现ICMP远控后门(上)_补充篇
ICMP后门(上)补充篇 前言 在上一篇文章Python3实现ICMP远控后门(上)中,我简要讲解了ICMP协议,以及实现了一个简单的ping功能,在文章发表之后,后台很多朋友留言,说对校验和的计算不 ...
- Python3实现ICMP远控后门(中)之“嗅探”黑科技
ICMP后门 前言 第一篇:Python3实现ICMP远控后门(上) 第二篇:Python3实现ICMP远控后门(上)_补充篇 在上两篇文章中,详细讲解了ICMP协议,同时实现了一个具备完整功能的pi ...
- Python3实现ICMP远控后门(下)之“Boss”出场
ICMP后门 前言 第一篇:Python3实现ICMP远控后门(上) 第二篇:Python3实现ICMP远控后门(上)_补充篇 第三篇:Python3实现ICMP远控后门(中)之"嗅探&qu ...
随机推荐
- KMPnext数组运用、最小循环节问题
http://www.cnblogs.com/jackge/archive/2013/01/05/2846006.html http://www.cnblogs.com/wuyiqi/archive/ ...
- HDU 1271
这题做了好久..... 理解别人的代码都理解了好久!!!太弱太弱. #include<iostream> #include<algorithm> #include<cma ...
- 怎么让FOXMAIL关了以后在右下角自动收取邮件
1.缩小到任务栏:打开foxmail,在工具-系统设置-常规,选项中有一项最小化时在任务栏显示,勾选上即可.2.要自动收取邮件,选中邮件账户,右键打开菜单,属性-接收邮件,右边勾选上“每隔*分钟自动收 ...
- Codeforces Round #529 (Div. 3) E. Almost Regular Bracket Sequence(思维)
传送门 题意: 给你一个只包含 '(' 和 ')' 的长度为 n 字符序列s: 给出一个操作:将第 i 个位置的字符反转('(' ')' 互换): 问有多少位置反转后,可以使得字符串 s 变为&quo ...
- WPF 一个性能比较好的 gif 解析库
本文介绍 Magick.NET ,这是 ImageMagick 的 .Net 封装,他支持 100 多种格式的图片,而 gif 也是他支持的.本文告诉大家如何使用这个库播放 gif 图 先给大家看一下 ...
- 备战省赛组队训练赛第七场(UPC)
传送门 日文题解:戳这里
- 2018.11.23 浪在ACM 集训队第六次测试赛
2018.11.23 浪在ACM 集训队第六次测试赛 整理人:刘文胜 div 2: A: Jam的计数法 参考博客:[1] 万众 B:数列 参考博客: [1] C:摆花 参考博客: [1] D:文化之 ...
- VMware下配置Linux IP,解决Linux ping不通
因为安装好VMware8.0后,把VMware服务都设成手动的了,导致有些功能不好使,费了半天劲, 如果安装Linux时选择DHCP自动分配IP,需要启动服务: VMware DHCP service ...
- 使用 HttpClient 进行表单提交时,遇到的问题
问题 在开发微信支付的小微商户进件接口时,需要通过表单来上传身份证图片等数据.在微信支付接口文档也说明了,需要使用 multipart/form-data 的方式发送请求..NET 提供了 Multi ...
- 第二阶段:2.商业需求文档MRD:4.MRD-核心目标-产品构成
竞争对手分析很重要.之后单独讲解.产品经理时刻要关注竞争产品的状态. 1.不同于PRD.这里只是概况.2.产品前景的核心目标就是:KPI(用户使用量:安装量,卸载量,日活数)跟ROI(开发人力,时间, ...
