嵌入式开发

我和你一样那么喜欢嵌入式,热衷于物联网!
私信 关注
王多肉是谁
码龄2年

热衷于归纳和总结

  • 40,867
    被访问量
  • 23
    原创文章
  • 152,211
    作者排名
  • 29
    粉丝数量
  • 毕业院校 岭南师范学院
  • 于 2018-10-27 加入CSDN
获得成就
  • 获得33次点赞
  • 内容获得24次评论
  • 获得139次收藏
荣誉勋章
兴趣领域
  • #硬件开发
    #嵌入式硬件#驱动开发#单片机#硬件工程#arm开发
TA的专栏
  • Nodemcu
    3篇
  • Arduino UNO
    6篇
  • Arduino Mega2560
    1篇
  • Raspberry
    7篇
  • Linux
    2篇
  • stm32f103zet6
    3篇
  • ubuntu
    2篇
  • Python
    2篇
  • housework programmer
    1篇
  • Arduino M
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

Linux连接文件_笔记

一、Linux连接文件Linux有两种连接文件:符号连接(软连接)和硬链接,符号链接类似Windows下的快捷方式。硬链接通过文件系统的inode连接来产生新文件名,而不是产生新文件。inode:记录文件属性,一个文件一个inode。inode相当于文件ID,查找文件的时候要先找到inode,然后才能读出文件的内容。二、ln命令ln命令用于创建连接文件:ln [选项] 源文件 目标文件选项:-s 创建符号链接(软连接)-f 强制创建连接文件,如果目标存在,那么先删除掉目标文件,然后再建立连
原创
13阅读
0评论
0点赞
发布博客于 2 月前

Ubuntu文件系统结构_笔记

一、根目录“/”Linux下“/”就是根目录!所有的目录都是由根目录衍生出来的。二、Ubuntu文件系统结构/bin 存放二进制可执行文件,这些命令在单用户模式下也能够使用。可以被root和一般的账号使用。/boot Ubuntu内核和启动文件,比如vmlinuz-xxx。gurb引导装载程序。/dev 设备驱动文件/etc 存放一些系统配置文件,比如用户账号和密码文件,各种服务的起始地址。/home 系统默认的用户主文件夹,一般创建用户账户的时候,默认的用户主文件夹都会放到此目录下。/
原创
14阅读
0评论
0点赞
发布博客于 2 月前

python字典的遍历

遍历字典: keys() 、values() 、items()1. xxx.keys() : 返回字典的所有的key 返回一个序列,序列中保存有字典的所有的键效果图:代码:#keys() 该方法会返回字典的所有的key#该方法会返回一个序列,序列中保存有字典的所有的键d = {'name':'孙悟空','age':18,'gender':'男'}print(d.keys())print()# 通过遍历keys()来获取所有的键for k in d.keys() :
原创
27阅读
0评论
0点赞
发布博客于 5 月前

使用python获取csv文本的某行或某列数据的实例

csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格:就可以存储为csv文件,文件内容是:No.,Name,Age,Score1,Apple,12,982,Ben,13,973,Celia,14,964,Dave,15,95假设上述csv文件保存为"A.csv",如何用Python像操作Excel一样提取其中的一列,即一个字段,利用Python自带的csv模块,有两种方法可以实现:第一种方法使用reader函数,接收一个可迭代的对象(
原创
196阅读
0评论
1点赞
发布博客于 5 月前

智能灯和mqtt实验

实验目的及要求【实验一】光控灯【实验二】声控灯【实验三】语音识别控制灯【实验四】实现Easy IoT上mqtt消息的通讯甲按A键(或触摸P)发送消息至topic1,同时监听topic0乙监听topic1,接收到甲的消息后按A(或触摸P)回复消息给topic0甲显示P:光控灯:根据光照强度调节光线强弱Y:声控灯:根据声音强度控制led开关T:语音识别控制灯H:通讯 wifimqtt消息通讯系统(easy iot)甲按A键发送消息至topic1,同时监听topic0 乙监听topic1
原创
557阅读
0评论
0点赞
发布博客于 6 月前

如何在VSCode上的PlatformIO IDE使用Arduino库文件

1. 找到项目文件夹下的“lib”文件夹,并点击进入这里博主事先已经把相对应的库文件挪进了“lib”文件目录下2.在Visual Studio Code下的PlatformIO IDE里打开项目文件夹,找到“.vscode”文件下的“c_cpp_properties.json”文件3.进入“c_cpp_properties.json”文件找到“includePath”关键字,在其下添加你库文件的路径,谨记格式必须相同4.最后如果需要用到库文件的话,只需要在“src”目录下的“main.cpp”
原创
934阅读
0评论
0点赞
发布博客于 7 月前

树莓派环境搭建opencv/tensorflow库安装

树莓派环境搭建树莓派操作系统:官网下载比较新的树莓派系统就好摄像头我使用了廉价的500w像素camerapython默认版本改用3+、更换国内源maplotlib库:sudo apt-get install python3-matplotlib安装opencv参考:https://blog.csdn.net/weixin_43287964/article/details/101696036?depth_1-utm_source=distribute.pc_relevant.none-task&a
原创
93阅读
0评论
0点赞
发布博客于 7 月前

Raspberry python3.7安装RPi第三方库

一、终端输入sudo pip install RPi.GPIO二、验证
原创
456阅读
0评论
0点赞
发布博客于 9 月前

树莓派系统时间同步

保证计算机的时间准确性是一个非常重要的事情,特别是我们基于树莓派还开发一些开关或者数据监控应用,如果时间不准确,可能会引发一些不必要的问题。参考文章:《树莓派系统时间同步》一、启用网络时间协议sudo timedatectl set-ntp true二、使文件系统可写sudo mount -o rw,remount /三、修改时区sudo dpkg-reconfigure tzdata在“Configuring tzdata”中,依次选择Asia、Shanghai,回车确认四.
原创
427阅读
1评论
0点赞
发布博客于 9 月前

使用CV2.imshow出现If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config

终端输入命令pip install opencv-contrib-python
原创
282阅读
0评论
1点赞
发布博客于 9 月前

树莓派上安装Opencv遇到的小bug解决方法

最近很多人用树莓派跑opencv,我之前也用过,后来最近突然迷上了openCV的应用,就烧录了最新的系统,然后重新安装了opencv的环境,测试的时候发现加载不进来。转载来自《树莓派上安装Opencv遇到的小bug解决方法》http://www.yoyojacky.com/?m=201911报错提示pi@raspberrypi:~ $ python3Python 3.7.3 (default, Apr 3 2019, 05:39:12) [GCC 8.2.0] on linuxTyp.
转载
234阅读
0评论
0点赞
发布博客于 9 月前

从装机到成功安装tensorflow,手把手最全教程教你如何给Raspberry 4B 安装 tensorflow 1.14.0,完美避开所有坑位!

感谢以下文章提供的帮助!《python安装h5py》《树莓派3B+成功安装tensorflow1.9.0》《树莓派编译安装Python3.6》《树莓派删除python2.7默认python3.5》《pip 下载慢——解决方法》《树莓派3B 搭建tensorflow环境(简单非编译版)》《Linux----切换python版本(ln: failed to create symbolic link ‘/usr/bin/python’: File exists)》
原创
396阅读
0评论
0点赞
发布博客于 9 月前

如何在Raspberry上配置Python环境

Python是大家常用的语言之一,但是我们会经常发现通过pip命令安装第三方库时非常耗时间,而且下载极其不稳定,因此我建议大家通过自己的windows电脑到第三方库的下载网站那直接下载好文件后传输给Raspberry就行了,这样不仅省时而且轻松!通过介绍如何从Raspberry下载python的tensorflow库为案例,展开介绍本文章的内容1.安装Python3.5.2cd /home/piwget https://www.python.org/ftp/python/3.5.2/Python.
原创
127阅读
0评论
0点赞
发布博客于 10 月前

IEEE754对Modbus RTU 485通信获取的数据报进行取值计算

源码:#include <stdio.h>#include <stdlib.h>#include <string.h>int main(void){ float freq; char recv[4] = {0x40, 0x91, 0x2C, 0x81}; //接收到的数据,高字节到低字节排列 char *Modbus_HoldReg[4]; //定义保持寄存器指针数组 //第一步:指针初始化 Modbus_Ho
原创
170阅读
0评论
0点赞
发布博客于 10 月前

UnicodeDecodeError:“gbk”编解码器无法解码位置175中的字节0x96:非法的多字节序列

使用Visual Studio Code里面的platform IO对Arduino编程时报错内容:Traceback (most recent call last): File "C:\Users\WW98\AppData\Local\Programs\Python\Python37-32\Lib\threading.py", line 926, in _bootstrap_inner self.run() File "C:\Users\WW98\AppData\Local\Progra
原创
1671阅读
2评论
0点赞
发布博客于 10 月前

基于Modbus RTU 485通信协议实现对PH、溶解氧传感器的数据采集

modbus rtu 485协议采用的是一主多从方式通信,主机是普中的stm32f103zet6开发板,从机是传感器。代码已经在实物上测试通过,并且也用modbus精灵测试通过了。如果你没有stm32基础的话,建议先去B站搜索“正点原子”了解一下485串口通信协议,然后就是到“正点原子”的官方论坛搜一下modbus通信的相关文章,看看大佬们的设计,一定会非常有收获!不过更重要的是你要去了解一下这个modbus的通信协议,具体的话已经放到上一个文件夹里面了,自己找找呀。转载注明出处!谢谢你那么耐心地读完
原创
585阅读
3评论
7点赞
发布博客于 10 月前

103 modbus-485-PH溶解氧

modbus rtu 485协议采用的是一主多从方式通信,主机是普中的stm32f103zet6开发板,从机是传感器。代码已经在实物上测试通过,并且也用modbus精灵测试通过了, 如果你没有stm32基础的话,建议先去B站搜索“正点原子”了解一下485串口通信协议,然后就是到“正点原子”的官方论坛搜一下modbus通信的相关文章,看看大佬们的设计,一定会非常有收获!不过更重要的是你要去了解一下这个modbus的通信协议,具体的话已经放到上一个文件夹里面了,自己找找呀。 划重点: 1、读寄存器功能码统一用03; 2、采用设备地址寻址方式实现功能; 3、轮询读值。 4、使用开发板前注意看你的板子有没有485芯片,如果没有的话需要你用485转TTL模块连接板子和传感器。 报错!注意事项: 1、串口通信只显示FF或者别的乱码,说明你的传感器供电不足,建议大家使用升压模块单独给传感器供电; 2、编译如果出错,首先看看自己的晶振、芯片、头文件引用路径有没有选对; 3、如果你要设新的设备地址或者新的功能码实现功能的话,记得要重新计算CRC校准值喔,算法自行百度吧。 4、如果没报错,但是实现不出你想要的结果,请优先考虑多用printf测试。 “这是我自学的内容,不建议你做伸手档喔,如果实在不能不能理解modbus协议的话,可以参考一下我这个代码,毕竟我已经把注释写的很详细了,当然,那些太基础的我就不写了。” 谢谢你那么耐心地读完了我写的内容,欢迎你来和我讨论代码优化的问题。
zip
发布资源于 10 月前

103 modbus-485-PH溶解氧

modbus rtu 485协议采用的是一主多从方式通信,主机是普中的stm32f103zet6开发板,从机是传感器。代码已经在实物上测试通过,并且也用modbus精灵测试通过了。 划重点: 1、读寄存器功能码统一用03; 2、采用设备地址寻址方式实现功能; 3、轮询读值。 4、使用开发板前注意看你的板子有没有485芯片,如果没有的话需要你用485转TTL模块连接板子和传感器。 报错注意事项: 1、串口通信只显示FF或者别的乱码,说明你的传感器供电不足,建议大家使用升压模块单独给传感器供电; 2、编译如果出错,首先看看自己的晶振、芯片、头文件引用路径有没有选对; 3、如果你要设新的设备地址或者新的功能码实现功能的话,记得要重新计算CRC校准值喔,算法自行百度吧。 4、如果没报错,但是实现不出你想要的结果,请优先考虑多用printf测试。
zip
发布资源于 10 月前

Arduino UNO使用Syn6288进行简单开发案例

引脚定义案例代码://Arduino UNO 上的 RX、TX 分别对接 Syn6288 上的 TX、RX#include <SoftwareSerial.h>#include "Syn6288.h"Syn6288 syn;SoftwareSerial mySerial(2,3);//RX=2,TX=3uint8_t text1[] = {0xBF, 0xC9, 0xBB, 0xD8, 0xCA, 0xD5, 0xC0, 0xAC, 0xBB, 0xF8}; //可回收垃圾
原创
1097阅读
3评论
0点赞
发布博客于 11 月前

Arduino UNO出现avrdude: stk500_getsync(): not in sync: resp=0x00错误的解决方法

将0,1接口上的线拔掉再进行上传,不要傻傻的去重刷开发板bootloader。avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00avrdude: stk500_g
原创
3153阅读
0评论
4点赞
发布博客于 11 月前

NodeMcu连接阿里云物联网平台遇到MQTT Connect err : -2 该如何解决

1、先到PubSubClient.h文件中通过报错内容“-2“,找到MQTT_CONNECT_FAILED语句2、再到PubSubClient.cpp文件中找到MQTT_CONNECT_FAILED的相关内容3、通过else语句找到上层的if语句内容得知result最终返回值应该是0:4、误打误撞,最终是换了个wifi解决了这个报错问题,所以可以追究else语句的内容:...
原创
1746阅读
4评论
1点赞
发布博客于 1 年前

linux如何查看端口被哪个进程占用

本文介绍linux如何查看端口被哪个进程占用的方法:1、lsof -i:端口号2、netstat -tunlp|grep 端口号都可以查看指定端口被哪个进程占用的情况【步骤一】lsof -ilsof -i 用以显示符合条件的进程情况,lsof(list open files)是一个列出当前系统打开文件的工具。以root用户来执行lsof -i命令,如下图【步骤二】lsof -i:端口...
转载
97阅读
0评论
0点赞
发布博客于 1 年前

在Arduino IDE上对NodeMcu进行编码,向服务器发送超声波传感器采集数据并以json档的格式实时保存数据

博主想通过NodeMcu采集超声波传感器上的数据,然后将数据传输到云服务器上,但现今各大网络论坛上对于NodeMcu的开发案例都很少,内容也十分零碎,没有较为完善而且已经可以投入实际应用的文案去学习,因此博主特地写了这篇文章,以一个较为实用的开发,向大家阐述一下如何使用NodeMcu快速高效的将传感器采集到的数据传到云服务器上,并且以Json档的格式实时保存传到云服务器上的传感器数据!一、需...
原创
589阅读
0评论
0点赞
发布博客于 1 年前

使用Arduino和Node.js实现网页界面控制LED的亮度

参考原文(本文内容不仅在原文基础上做了大量补充说明,而且对常见报错内容进行了总结归纳!非常适合小白入手Arduino和Node.js的应用)使用Arduino和Node.js实现网页界面控制LED的亮度 https://www.yiboard.com/thread-1180-1-1.html今天,我们将使用一个非常流行的JavaScript框架Node.js来控制连接到Arduino ...
原创
338阅读
0评论
1点赞
发布博客于 2 年前

LED_Control_with_Nodejs.rar

使用一个非常流行的JavaScript框架Node.js来控制连接到Arduino Uno的LED。我们还将使用Node.js使用Arduino从网页控制LED的亮度。通过少量调整和使用ESP8266,可以将其转换为物联网项目,可以从任何地方控制LED。
rar
发布资源于 2 年前
基于Arduino Nano的多功能桌面感应垃圾桶
发布Blink于 2 年前

Kali linux开机黑屏的解决方法

方法1:用管理员权限打开命令行命令行窗口cmd—输入netsh winsock reset,然后重启计算机。方法2:VM->Settings->Hardware->Display在右面的内容栏中将Accelerate 3D graphics取消打勾,然后重启即可...
转载
9073阅读
0评论
1点赞
发布博客于 2 年前

单片机中while(1)的用途

while(1);意义:这是一个死循环,代码不再向下执行。用途:一般在调试代码时,为了检测一部分代码是否OK,防止后面的代码干扰执行结果,会在观测点加上while(1);有些代码检测到运行错误时,会抛出错误(打印、设置错误码),然后进入while(1);机器需要复位时,停止喂看门狗,进入while(1); 迫使看门狗超时,产生硬件复位。我们在单片机中使用while(1),大部分还...
原创
2358阅读
0评论
2点赞
发布博客于 2 年前

Nodemcu连接OLED显示屏并显示位图图像

参考原文(本文内容在原文基础上做了大量补充说明,非常适合小白入手ESP8266连接OLED显示屏的应用)ESP8266连接OLED显示屏并显示位图图像 https://www.yiboard.com/thread-1183-1-1.html在本篇文章中,我们将OLED显示屏与NodeMCU ESP8266连接。 NodeMCU是一个开源的物联网平台,包括运行在Espressif Sys...
原创
8993阅读
8评论
3点赞
发布博客于 2 年前

基于Arduino Nano的多功能桌面感应垃圾桶

成品图(垃圾桶由超声波感应自动开启,延时后关闭)(垃圾桶的所有布线全部精细的设置在桶盖,桶身完全没有布线,轻松取开,倒垃圾无忧)(内置的时钟可以为你精准报时,LM35温度传感器也可以尽可能准确地告知你温度信息)别看这个垃圾桶看起来非常的小巧和简陋,但可谓是麻雀虽小,五脏俱全,当你伸手放在桶盖前时,桶盖会自动感应打开,而这种识别方式则是双通道超声波传感器的功劳,这一传感器听起来...
转载
2749阅读
1评论
8点赞
发布博客于 2 年前

使用火焰传感器和Arduino开发板搭建火灾报警系统

概述本文将通过使用火焰传感器与Arduino UNO组成一个简单的火灾报警系统。该火焰传感器是基于IR的火焰传感器,通过红外线感应是否存在火焰,若存在火焰,火焰传感器传达高电平信号到Arduino UNO主板上,触发蜂鸣器,LED灯不断闪烁红黄光两种光;若不存在火焰,LED灯仅发出黄光。本文需要的组件:Arduino UNO开发板火焰传感器无源蜂鸣器双色LED灯连接导线主要组件...
原创
2703阅读
2评论
1点赞
发布博客于 2 年前

使用 WebSocket 客户端连接 MQTT 服务器,实现MQTT远程开关控制和消息收发

1. 打开/关闭 开关,实现发送1和0到 学号姓名/switch 如 “2018A14121王建泉/switch“ 2. “发送消息”实现单次发送,“循环消息”实现循环发送固定消息,“停止循环”实现停止循环消息发送。消息均发送到 学号姓名/chat 如 “2018A14121王建泉/chat“ 3. 消息接收区要能实时显示
zip
发布资源于 11 年前