https://www.cnblogs.com/yangfengwu/p/11094009.html 定时器有两种,软件定时器和硬件定时器 软件定时器就是靠里面的任务延时实现的,,这样的定时器其实延时不准确 硬件定时器 就是硬件中断定时器,咱都学过单片机,中断的准确 先看软件定时器 具体大家看下面 所以第一步,定义一个定时器变量 可以看这个文件,咱就是用这个头文件 os_timer_t os_timer_one;//定义一个全局的定时器结构体变量 先看带参数的 void *XXX   就是说可以…
因为今天终于做好了自己的另一块工控板,所以我就开始写基础公开篇的内容,希望自己小小的努力能够帮到大家 自己做的另一块板子 https://www.cnblogs.com/yangfengwu/category/1472273.html 前几节咱使用的是没有操作系统的SDK,,后面咱再使用带操作系统的SDK来学习开发, 我的风格是综合,综合,综合,就是WIFI+上位机+Android+网页等等什么的一块学,都是一步一步的实现.不过不用担心,绝对不会让大家感觉难的....全是基础 所有的源码也是全部…
https://www.cnblogs.com/yangfengwu/p/11324411.html 说个事情,现在SDK的版本已经出到3.0了,但是我还是使用2.0 如果只是为了学习研究   选择3.0吧! 如果要做产品或者项目   选择2.0或者更低版本 大家应该都明白为什么要这样.如果你不明白,那说明你还是小白. 前面几节都是连接Wi-Fi发出的无线,然后实现通信.后面的章节咱都是让模块连接路由器,然后实现通信 大家首先要明确,WIFI模块和手机同时连接路由器通信,实际上以前的所有网络通信…
https://www.cnblogs.com/yangfengwu/p/11105466.html 其实官方给的RTOS的版本就是在原先非RTOS版本上增加的 https://www.cnblogs.com/yangfengwu/p/5205570.html    后面的TCP,UDP基本的配置也就是像AT这样,只不过咱是用SDK开发 配置一下WIFI的工作模式  无线名称 wifi_set_opmode(STATIONAP_MODE);//配置WiFi的模式STATION + AP AP--…
https://www.cnblogs.com/yangfengwu/p/11087618.html 其实这一节就是对上三节的综合测试 https://www.cnblogs.com/yangfengwu/p/11087558.html     给WIFI下载程序 打开第九节的软件 还记得我做控制那个WIFI的那个LED为什么让串口接收到什么就回什么了不,,就是为了和上位机配合 这样学习才有意思...... https://www.cnblogs.com/yangfengwu/p/1109408…
https://www.cnblogs.com/yangfengwu/p/11427504.html SmartConfig/Airkiss 配网需要APP/微信公众号,这节大家先使用我做好的APP/微信公众号 APP下载: https://www.cnblogs.com/yangfengwu/p/11249674.html 微信公众号: 扫描这个二维码关注我的公众号      其余的步骤等写完8266的配网程序,在下面演示. 如果想自己实现微信绑定可以看↓ (注:配置过程和源码全部是公开的,大…
https://www.cnblogs.com/yangfengwu/p/11112015.html 先规定一下协议 aa 55 02 01 F1 4C 控制LED点亮  F1 4C为CRC高位和低位aa 55 02 00 30 8C 控制LED熄灭  30 8C为CRC高位和低位 aa 55 03  占空比(四字节 高位在前,低位在后) CRC校验高位,CRC校验低位 预留一个问题  我用客户端发送 aa 55 11 00 00 01 F4     WIFI接收到是  F4 01 00 00…
https://www.cnblogs.com/yangfengwu/p/11456667.html 由于上一节的源码长时间以后会自动断开,所以再做这一版非RTOS版的,咱直接用lua源码里面别人写的(站在巨人的肩膀上) 咱再细细的看下lua怎么实现的源码 首先确定lua都调用了什么函数 https://www.cnblogs.com/yangfengwu/p/7533302.html    lua写的TCP 客户端 用到的部分程序 Client = net.createConnection(n…
https://www.cnblogs.com/yangfengwu/p/11094085.html PWM其实没有什么,就是看着官方给的API,,,然后就是用呗 对了,其实对于RTOS SDK版本的开发可以直接去参考非RTOS SDK的API  这个直接有例子 其实嵌入操作系统也没有什么,底层自带的外设硬件功能该怎么样还是怎么样,操作系统也不能改变什么,,操作系统的存在只是去操作咱定义的函数,让这些函数执行的时候快速的切换执行... 我直接说第三个参数 第三个参数是说要定义一个 这样的数组  …
https://www.cnblogs.com/yangfengwu/p/11072834.html 所有的源码 https://gitee.com/yang456/Learn8266SDKDevelop.git 手头有任何8266的板子就可以,不需要购买 https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-18540610442.2.4297d36cprrnVx&id=569295486025 下载API文档 https://wiki.…
对于操作系统不知道有没有害怕接触的... 先说一下操作系统是什么意思,其实咱的电脑就运行了操作系统,手机,等等... 操作系统和任务分不开,所谓任务就是一个一个的执行各个功能的函数,,,操作系统呢就是管理和控制这些函数 注意哈,每个函数(任务),里面必须有延时,其实有延时的目的就是让操作系统去切换别的函数(任务)去运行 所以说:实时操作系统  并不是  实时   真正实时的是  裸机 有可能有人会问,,那电脑是操作系统肯定有延时,那为什么感觉不到卡呢??? 延时是有,但是如果很小呢!!!!其实咱…
这节只是做记录, 整个的教程呢,重新整理下 教程有点乱,需要再细分一下 这节只是做一下我使用其SPI的记录 还是老样子,看人家LUA源码里面怎么使用的 注意哈,对于8266 SDK的学习我还是建议大家直接拷贝lua源码里面的直接用 站在巨人的肩上嘛,,如果你自己写,你很难写到人家那样稳定可靠....别自己瞎研究哈.... 知识永远学不完的,你需要掌握方法!需要学会借力! lua源码里面基本上所有的功能都有直接的例子. 初始化引脚 lua语言呢是  spi.setup(id, mode, cpol…
https://www.cnblogs.com/yangfengwu/p/11432795.html 注:这节实现的功能是WIFI模块作为TCP 客户端,连接咱的TCP服务器,然后实现透传 本来想着做成断线重连,但是无论如何测试,使用官方给的API默认大约2个小时以后就会主动断开连接...... 其实和咱 https://www.cnblogs.com/yangfengwu/p/11112014.html  (TCP 服务器差不多) 先看下程序测试 (连接路由器测试,让电脑和WIFI连接同一个路…
style="font-size: 18pt;">https://www.cnblogs.com/yangfengwu/p/11429007.html https://wiki.ai-thinker.com/esp8266/examples/at_demo 去安信可官网下载源码 等待下面加载完 如果加载的有错误 这个上面会有 try again  然后让软件重新加载 然后用数据线连接手机 下载到手机 安装好以后打开软件 好,测试 按下大约3S,指示灯快闪    其余的页面什么的,…
https://www.cnblogs.com/yangfengwu/p/11204436.html 刚才有人说需要点鸡汤.... 我想想哈;我还没问关于哪方面的鸡汤呢!!! 我所一直走的路线 第一:能够帮到人第二:能够获得好的人气第三:获取利益,养活自己 其实第一和第二只要你有哪一方面的优点,又肯吃苦,那么就很好走到. 但是至于第三点,既要全心全意的帮助别人又要从别人那里获取利益养活自己.....其实不容易 很多人只能走到第一,第二,然后走到沾一点第三的边. 这个时候的人们就开始浮躁了,大部分…
https://www.cnblogs.com/yangfengwu/p/11192618.html 有些很细致的东西参考这篇   https://www.cnblogs.com/yangfengwu/p/5212570.html  看看就可以 咱用Android Studio做 包名  路径什么的自己随意哈 放一个textview 自己拖动,哈 由于没有Edittext 控件,所以,没有可以拖进来的..... 选择自适应 如果没有提示 可以   CTRL + ALT +空格 忘了一件事情,设置…
https://www.cnblogs.com/yangfengwu/p/11192603.html 由于是台式机,,没有插无线网卡...所以呢我就用调试助手监控下数据 后期让WIFI连接路由器的时候,在一个局域网内再和开发板联合测试 我就做的尽量简单点 那个CRC还需要再往后放一放,,,,,,需要和WiFi一块...现在我台式机不能连接WiFi信号,所以,,,,,再等一等 大家如果是笔记本 ,可以连接WiFi的无线,,然后 测试就可以 https://www.cnblogs.com/yangf…
https://www.cnblogs.com/yangfengwu/p/11130428.html 渐渐的看过去,,,好多节了... 这节做一个C# TCP客户端 新建项目啥子的就不详细截图写了,自行看前面了解 (我的文章只要是有序号的,必须要看前面,因为我所写的教程即是基础又是综合) 先做个这个页面,先做连接和断开 链接TCP用这个变量 其实连接TCP 几句就完了 我定义了一个函数是因为,其实连接时阻塞的,,所以咱需要开个任务 C# 的任务是这样用 OK  现在测试 由于我是用的台式机,,没…
https://www.cnblogs.com/yangfengwu/p/11105466.html 现在开始写... lwip即可以用socket 的API  也可以用 netconn  的API实现网络通信 socket  本身其实就是在netconn 上的再一次封装,所以使用起来更快捷(好多东西又封装了一下),但是由于我以前做的项目都是用的netconn ,所以咱还是用 netconn  实现 毕竟用的更底层,更稳定,更省资源 提到lwip 不得不提一个人   "老衲五木"  大…
https://www.cnblogs.com/yangfengwu/p/11071580.html 所有的源码 https://gitee.com/yang456/Learn8266SDKDevelop.git 说一下哈,咱直接就用 因为我看了一下,上面的不带操作系统的,没有放基本的主函数文件,所以需要我们放一些文件在里面 下面是官方给的教程 https://wiki.ai-thinker.com/ai_ide_use 还有就是以后咱做项目也是使用带操作系统的,所以咱直接用那个带操作系统的,…
了解了8266的串口了,这一节咱就自己写程序,处理一下数据,如果接收到 0xaa 0x55 0x01  就控制指示灯亮 0xaa 0x55 0x00  就控制指示灯灭 注意哈,我是用的假设没有操作系统的思路,其实如果有了操作系统应该用操作系统提供的API实现 因为8266是用的FreeRtos,,,我还没有深入了解这个系统,所以我先用我的方式实现,后期的文章可能需要等些时间更新了,因为我需要充电 定义一些变量 u8 Usart1ReadBuff[Usart1ReadLen]={};//接收数据的…
所有的源码 https://gitee.com/yang456/Learn8266SDKDevelop.git 手头有任何8266的板子就可以,不需要购买 https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-18540610442.2.4297d36cprrnVx&id=569295486025 这一节说一下8266的串口 说串口之前,先看一下环形队列,一定要看 https://www.cnblogs.com/yangfengwu/p/6…
接着上一节的写 咱先做一个单片机串口接收到什么就回过来什么 咱自己写个发送函数,其实就是仿照官方的写的 别忘了 现在咱建个任务处理串口数据 下载进去 现在是三个任务都在运行了...操作系统是不是很神奇 现在做这个 咱就控制GPIO5.咱把这里屏蔽掉 现在做处理,,,其实很简单 现在下载进去 OK 了 下一节,咱做一个上位机来控制 https://www.cnblogs.com/yangfengwu/p/11087613.html…
https://www.cnblogs.com/yangfengwu/p/11087558.html 咱用这个编写 ,版本都无所谓哈,只要自己有就可以,不同版本怎么打开 https://www.cnblogs.com/aliflycoris/p/8005955.html C#API     https://docs.microsoft.com/zh-cn/dotnet/api/?view=netframework-4.0 放几个文本显示 放个下拉框,用来选择串口号 各复制出来 把串口拖上来 做一…
https://www.cnblogs.com/yangfengwu/p/11087613.html 页面修改成这样子             现在看串口发送数据 点击点亮 发送0xaa 0x55 0x01 我电脑上安装了虚拟串口软件,虚拟出来了COM1和COM2,然后COM1发送的数据会发给COM2  COM2发送的数据会发给COM1 大家如果有两个串口模块也可以 https://jingyan.baidu.com/article/e3c78d648965303c4c85f535.html 那…
https://www.cnblogs.com/yangfengwu/p/11203546.html 先做接收消息 然后接着 public class MainActivity extends AppCompatActivity { EditText editTextActivityMain1,editTextActivityMain2;//定义两个EditText变量,变量名字我一般设置的和先前页面里面的一样 Button buttonActivityMain1;//连接按钮 Socket s…
https://www.cnblogs.com/yangfengwu/p/11192594.html 自行调整页面 连接上以后主动发个数据 namespace TCPClient { public partial class Form1 : Form { private TcpClient myTcpClient = null;// TcpClient Thread ConnectThread;//连接线程 string ipAddress;//记录ip地址 ;//端口号 private Net…
https://www.cnblogs.com/yangfengwu/p/11104167.html 先说一下整体思路哈.. 咱滑动的时候 会进入这个,然后咱呢不直接从这个里面写发送 因为这样的话太快了,,咱的单片机是用任务处理 咱就做一个10ms的定时器,实时检测进度条值的变化,如果这次的值和上次的值不一样就发送 定义一个变量用来存储上次的状态 现在测试一下,发给另一个串口,然后计算下 好现在控制灯               自己去测试吧,自己扩展成控制舵机,控制电机转速都可以 然后给大家C…
https://www.cnblogs.com/yangfengwu/p/11102026.html 首先规定下协议  ,CRC16就不加了哈,最后我会附上CRC16的计算程序,大家有兴趣自己加上 上位机发送: 0xaa 0x55  0x03  占空比(四字节)  低位在前  高位在后 注意哈:其实仪器仪表 高位在前 低位在后 用的多  由于咱的单片机和上位机都是小端,咱为了方便所以那样规定的协议 其实只要明白了原理  自己调换就可以 单片机解析协议,然后修改占空比 先用调试助手发几个数据测试一…
https://www.cnblogs.com/yangfengwu/p/11100552.html 这节做个上位机控制Wi-Fi引脚输出的PWM占空比信号,灯的亮度就可以用上位机控制了 大家可以自己扩展程序控制舵机的旋转角度 双击 textBox3.Text = trackBar1.Value.ToString();//显示当前滑动条的值 然后规定下协议  注意为了大家以后做项目的通用性  数据传输用 讲一个知识点 大家传输十进制数据怎么传输的,,传输浮点型数据怎么传输的  大家百度下IEEE…