你将收获

1:掌握并使用micropython控制单片机并控制与之连接的设备。

2:快速入门linux并通过搭建网站前后台控制单片机。

3:tensorflow的简单应用。

适用人群

有python3基础对物联网与单片机有兴趣。

课程介绍

2022 / 01/ 30: 新版esptool 刷micropython固件指令不是 esptool.py cmd... 而是 esptool cmd... 即可;

另外rshell 在 >= python 3.10 的时候出错解决方法可以查看:  已于2022年发布的: <micropython进阶拓展> "第二章:修复rshell在python3.10出错" 免费内容: https://edu.csdn.net/course/detail/29666

 

micropython语法和python3一样,编写起来非常方便。如果你快速入门单片机玩物联网而且像轻松实现各种功能,那绝力推荐使用micropython。方便易懂易学。

 

同时如果你懂C语音,也可以用C写好函数并编译进micropython固件里然后进入micropython调用(非必须)。

 

能通过WIFI联网(2.1章),也能通过sim卡使用2G/3G/4G/5G联网(4.5章)。

 

为实现语音控制,本教程会教大家使用tensorflow利用神经网络训练自己的语音模型并应用。

为实现通过网页控制,本教程会教大家linux(debian10 nginx->uwsgi->python3->postgresql)网站前后台入门。

为记录单片机传输过来的数据, 本教程会教大家入门数据库。

 

本教程会通过通俗易懂的比喻来讲解各种原理与思路,并手把手编写程序来实现各项功能。

本教程micropython版本是 2019年6月发布的1.11;

更多内容请看视频列表。

 

学习这门课程之前你需要至少掌握:

1: python3基础(变量, 循环, 函数, 常用库, 常用方法)。


本视频使用到的零件与淘宝上大致价格:

    1: 超声波传感器(3)

    2: MAX9814麦克风放大模块(8)

    3: DHT22(15)

    4: LED(0.1)

    5: 8路5V低电平触发继电器(12)

    6: HX1838红外接收模块(2)

    7:红外发射管(0.1),HX1838红外接收板(1)

    other: 电表, 排线, 面包板(2)*2,ESP32(28)

 

查看更多

课程目录

讨论留言
158 条回复 进入帖子
切换为未回复评论
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

这一节里面有点迷糊,这是esp32作为服务器端来接收数据了?这样远程控制不是内网而已,不是必须要知道esp的内网地址才能控制?
实际不是应该esp32作为客户端吗

gamefunc2024-12-06
  • 举报
回复
@想尝一尝被打赏的味道你可以简单理解esp32就是被控制端,核心思路都是esp32收到数据后根据你定义去做对应的gpio控制。 如果你esp32在内网,你需要外网能对esp32进行控制。那么最直接的方法是使用reverse conn手法,弄一台有公网ip的云服务器, esp32先connect云服务器,云服务器得到了与esp32建立的conn, 然后你对云服务器发送数据,云服务器再把数据转发到与esp32的那个conn即可。
qq_384416962023-08-07
  • 打赏
  • 举报
回复

哪个视频里有呢?我看了关于红外的 没有看到呢 你的WX 毫是什么?可以打出来吧 试试用 大写打, 我的是:壹叁陆捌零贰零陆伍捌陆

gamefunc2023-08-07
  • 举报
回复
qq_384416962023-06-24
  • 打赏
  • 举报
回复

在51那里可以下载 为什么这里没得下呢??

gamefunc2023-06-24
  • 举报
回复
@qq_38441696首先能否下载这个页面不是我制作的,是CSDN制作的;所以其实我也无法掌控; 另外是可以下载,点学习,开始看视频后,上面有个" 下载课件"的红色字样,点击可以下载
qq_384416962023-06-24
  • 打赏
  • 举报
回复

老师你好, 你有没有群, 能不能建个群把资料都放群里,方更大家下载学习啊. 我今天上github一直都上不了.真的太麻烦了,

gamefunc2023-06-24
  • 举报
回复
@qq_38441696上不去github确实是个大问题,最好有个你懂的;毕竟我课程都是以goo搜索为主;特别之后如果你有兴趣学到画PCB的话,那么芯片datasheet很多都只能goo搜; 立创开源与github我都是用gamefunc名字;
qq_384416962023-06-24
  • 打赏
  • 举报
回复

老师你好, 你有没有群哪, 能不能建个群把资料都放群里,方更大家下载学习啊. 我今天上github一直都上不了.真的太麻烦了,

gamefunc2023-06-24
  • 举报
回复
@qq_38441696你可以加我🐧或者wx, 视频里应该有
没名字5552022-09-25
  • 打赏
  • 举报
回复
陈老师好,我刚入坑,请问有没有交流群或者论坛讨论问题呢
gamefunc2022-09-25
  • 举报
回复
@没名字555

一般每1-2天都会看一下通知与留言;没开讨论群主要是因为csdn禁止留下联系方式;

gamefunc2022-09-25
  • 举报
回复
@没名字555

一般每1-2天都会看一下通知与留言;没开讨论QUN主要是因为csdn禁止留下LX方式;

liumao19932022-01-27
  • 打赏
  • 举报
回复
陈老师您好!您的课件第七章节的代码没有,烦请您发我一份可以吗?我的邮箱是1104083565@qq.com期待您的回复。
gamefunc2022-01-27
  • 举报
回复
@liumao1993

到需要理解后按自己需求写的内容开始,当时决定了是不提供文本代码;原因有两点:1:每个课程都是从0句代码开始实现并运行成功的,所以实际完整代码就看视频跟着写一次就好了,不会出现文本的话代码故意漏掉几句坑人的情况; 2:这个是最大原因:视频大部分是以 原理讲解->写一句分析一句的风格去解说的,这是因为当固件变了优先级也可能改变,比如irq,在1.11版本后明显他内部优先级影响了timer的中断运行使采样时间不稳,但只要弄懂原理了,可以用双单片机,一个主负责采集然后uart发到另外一台,另外一台专门用来连wifi发sock的方法解决;3:甚至外围库的不同,比如要使用到tensorflow,当时是1.x版本,但现在已经是2.x了,如果不是听课理解原理后去写只抄代码的话,那绝对是无法跟上更新的;

竹林yun2021-11-15
  • 打赏
  • 举报
回复
老师 我的是esp32-S 然后在进行 pcmArray = array.array("H", [0 for x in range(16601)]) 的时候 报: MemoryError: memory allocation failed, allocating 131072 bytes 这个该怎么解决啊?
gamefunc2023-02-23
  • 举报
回复
@竹林yun第2集连接wifi与注意事项第13:50秒开始有说,micropython不允许单个开这么大;
weixin_456233602021-10-26
  • 打赏
  • 举报
回复
请问老师 ESP32 micropython 的PYMYSQL的库在哪里有下载,或能发这个库给我吗,我找了好久,装不了 3873755@qq.com 谢谢
gamefunc2023-02-23
  • 举报
回复
@weixin_45623360这是micropython不是python呢,我并没在mpy上用sql,存放东西可以直接用json.dumps 到 txt, loads txt,如需要操作数据库按照后面第4章socket与第10章搭建前后台自己定协议发后台让后台控制即可;
weixin_456233602021-10-26
  • 打赏
  • 举报
回复
老师,ESP32 micropython 怎么安装PYSQL库 upip.install('PycSQL') Installing to: /lib/ Error installing 'PycSQL': , packages may be partially installed
qq_331303952021-08-31
  • 打赏
  • 举报
回复
我怀疑是电压不稳定,因为后来我把led灯打开观察情况,有时候后led灯会很微弱,像电压不足的感觉,我用的是12v降5v降压板,有没有可能是降压板的功率不足,供电电流太小呢?
gamefunc2021-08-31
  • 举报
回复
@qq_33130395

直接买块esp32开发板,20元左右,他自带usb转ttl,单纯led那点电流需求,电流足不足那只能回答大部分情况下足够;但你这降压版有没有问题我就不清楚了;只能自己排查,但你这同一句指令,有时灯亮有时微弱,那之后就是在硬件处找问题了,这里牵连太多了,实物不在手无法判断的;你情况是pin直接输出驱动led还是pin对继电器做控制其他地方供电等情况都会改变,排查思路你可以这样,先led接个18650摆半小时看光有么有变化,先排查led,没问题再设pin.value(1)后接电表看半小时电压..一直按照逻辑反走一次排查去找原因.

gamefunc2021-08-31
  • 举报
回复
@qq_33130395

结论,你的怀疑都能通过电表检测,买电表吧.100来元左右可以买个名牌的用个一辈子问题不大;测电流测电压测电阻测电容都需要用到;

qq_331303952021-08-31
  • 打赏
  • 举报
回复
您好,还有一个问题,我在测试8266的时候,用引脚4来做触发器,可是引脚在外部给了一个高电平后,有时候它自己会莫名其妙的变成高电平,不会复位,当停止外部电压后,它还是1,我用这个来做中断,经常出问题,但它大多数情况下撤掉电压还是会复位成0的,有人说是寄生电容可能有问题,我用两块8266测试了,结果都一样,不应该是硬件的问题吧?
gamefunc2021-08-31
  • 举报
回复
@qq_33130395

你程序逻辑没问题,他莫名奇妙变了,那就可以排查走软件问题了.

qq_331303952021-08-20
  • 打赏
  • 举报
回复
请问我要做一个航mo的实时图传,发送端单片机是esp32 cam,使用soket UDP传输,接收端如何选择芯片和lcd呢,可以用spi总线驱动lcd吗?
gamefunc2021-08-21
  • 举报
回复
@qq_33130395

采集好帧数据后再往回发,接收端根据收到的量化数据格式转为你ui可显示的格式;这样用esp32 cam一般不好弄;清晰度太低性能太低,最好是采集端采集后编码压缩成264等格式后再通过socket回传;

qq_331303952021-08-20
  • 打赏
  • 举报
回复
为什么不能评论,我有问题
gamefunc2021-08-20
  • 举报
回复
@qq_33130395

估计留言里带了某些你懂的关键字吧,我也常有这情况

qq_331303952021-08-20
  • 打赏
  • 举报
回复
我想用单片机做个航模的图传模块,用的拍摄模块是esp32 cam,soket UDP传输,接收端使用SPI总线驱动一个lcd屏幕显示,请问要如何选择lcd屏幕和使用单片机驱动呢
gamefunc2023-02-24
  • 举报
回复
@qq_33130395你要接屏幕显示图片的话可以搜esp32 vga; 这个我没在MPY上接过屏, 无法给你意见; 航拍我实现也是udp发, 但我接收端与控制端是平板或PC或anroid;详细可以查看进阶版如网页控制机械臂思路;
gamefunc2023-03-02
  • 举报
回复
@qq_33130395如果只看图的话,esp32有对应驱动, ILI9341, ILI9488, GC9A01, ST7789, ST7735;这个TB昭仪找即可
Build192021-08-13
  • 打赏
  • 举报
回复
首先激活station接口:sta_if.active(True)这个为什么会出现在shell上面运行是name 'sta_if' isn't defined
gamefunc2021-08-14
  • 举报
回复
@Build19

就是说你sta_if没定义;你是否代码没看全,前面少了sta_if = network.WLAN(xxxx);

顺便如果你python基础不太好的话,建议先补python,课程首页有说:

学习这门课程之前你需要至少掌握:

1: python3基础(变量, 循环, 函数, 常用库, 常用方法)。

Build192021-08-14
  • 举报
回复
@Build19我python会,不过我之前学的用pycharm写代码的,我之前也学过51单片机。我听这个电路方面没问题,一些代码容易出错,有时候和你一样的代码也报错
gamefunc2021-08-14
  • 举报
回复
@Build19

视频教程,代码一样是不会出错的;除非你环境与视频不对应或者粗心大意漏看漏写了什么,比如你现在这发问;我看你是看到SOCKET;但你这问题明显是在之前第2章连接WIFI时的内容的;之前好像还超声波但连环境都没弄好;编程前面一步没解决后面一步是解决不了的;必须顺着看急不了的;像这种非常基本的isn't defined,python基础打好很容易可以推断出就知道你sta_if没实例化,之后反推去排查即可;我看你发问不少学习也非常积极,但无论是之前环境还没部署好还是这个没连WIFI的,都是一大堆没必要提问可以自己排查的问题;编程基础知识与排查错误都是你个人必须要自己努力的,我看你7月22到现在还在原地打转,可以看出你学习方法不对;python基础打好,每一集都听懂自己弄懂才继续往下学习才是最快的捷径;原理弄懂运行逻辑弄懂,就不会写不出代码也不会不知道出错在哪;

Build192021-08-04
  • 打赏
  • 举报
回复
老师我用thonny运行程序经常出现不报错也不运行答案出来是什么原因,运行的就是你这节课的程序
gamefunc2021-08-04
  • 举报
回复
@Build19

thonny没用,我课程也部署thonny;你还是进rshell一条一条指令打一下看获取结果比较快;

gamefunc2021-08-04
  • 举报
回复
@Build19

错字,我课程没部署thonny,建议你还是进rshell一条一条打,一条一条看结果,哪一条没有获取到想要的结果,就知道了;然后你问是哪节课的程序,线材是否接好

gamefunc2021-08-04
  • 举报
回复
@Build19

最后提醒一下,在一切学习中,系统环境部署是最基础的;一个教程必定对应一个环境,是WIN10 > 1903就必须是WIN10 > 1903,是RSHELL就必须是RSHELL,是PYTHON > 3.7就必须是PYTHON > 3.7,是ESP32就必须是ESP32,是没装国产XX软件的就必定没装,不然环境变量有什么差异,比如他给你删了个PATH,要排查起来会非常费力;所以几乎所有教程环境部署都是免费的;如果不完全按照教程的环境去部署与操作,不出问题,没事,出了问题,你就需要自行解决;这也是为什么大部分开发者都有偏向大众的原因,因为资料好找,遇到同样问题机会也多,反馈BUG也积极,修复也会及时;

Build192021-08-04
  • 打赏
  • 举报
回复
老师我想问一下这个是不是每一次运行程序都要像第一章这样刷一次
gamefunc2021-08-04
  • 举报
回复
@Build19

如果你复了main.py进去,那么你可以删除 rm /pyboard/main.py;

开机会自动运行boot.py后自动运行main.py;

你可以ls /pyboard查看一下你esp32上有哪些文件;

如果你main.py没写东西.那么esp32上有重启键的;按一下重启后就好;

如果还有其他问题,就基本是其他问题,这个你得慢慢排除了;

gamefunc2021-08-04
  • 举报
回复
@Build19

主页上有50多条提问,很少会出现这类问题的,特别是rshell /pyboard,main.py boot.py都是有说的,整个加载逻辑必须理解;

再者视频教程不是文章,该教程从0开始录,系统一样环境一样,完全照着很难出什么状况,出问题粗心大意的占多,当然了,粗心大意走弯路当你解决后,反而可以印象更深刻;

在单片机甚至编程的开发过程中,遇到问题的处理方法就是排除法,无论环境还是代码还是构建;出问题,先梳理好执行逻辑,然后一步一步尝试排除;

Build192021-08-03
  • 打赏
  • 举报
回复
esptool.py --chip esp32 --port COM3 --baud 460800 write_flash -z 0x1000 esp32-20210722-unstable-v1.16-121-g7649f5fbd-dirty.bin 老师这个步骤哪里有问题
gamefunc2021-08-03
  • 举报
回复
@Build19

没看出有问题,刷不入么,提示什么.是否你port没对好

Build192021-08-03
  • 打赏
  • 举报
回复
老师运行不报错也不出结果,显示EDITOR_CONTENT WARNING:root:Unexpected echo. Expected b'print("distance:",distance,"mm")\r\n', got b'' 老师能不能建一个群啊经常遇到问题解决不了
gamefunc2021-08-03
  • 举报
回复
@Build19

你根据第1章那样cp进去,不能直接editor的.他意思就是他不要\r\n,只要\n.你必须是utf-8 \n结尾的,第1章有说;

gamefunc2021-08-03
  • 举报
回复
@Build19

他意思其实就是,代码换行是\n,不能是\r\n; 说白了就是要LF,不要CRLF;建议你从开头每集开始看,不要跳着看.没有前面的知识与操作步骤演示后面的问题你解决不了的;

gamefunc2021-08-03
  • 举报
回复
@Build19

再者他后面也说了, 获取了 b"print()"这局,他不认识, 直接rshell里输入print(xxx)就行了

加载更多回复