WiringPi

树莓派4b+Ubuntu 20.04 LTS 32位 安装最新wiringpi库

一世执手 提交于 2020-08-15 05:35:38
树莓派4自带的wiringPi库默认是2.50,无法映射到gpio,所以需要更新到2.52才能与树莓派映射: 测试环境: 树莓派4B 8G + Ubuntu 20.04 LTS 32位( 经测试wiringpi 当前不支持64位系统,所以又重新安装的32位系统 ) 1、 安装自带的wiringPi库 sudo apt install wiringpi 2、 更新库 cd /tmp wget https://project-downloads.drogon.net/wiringpi-latest.deb 3、然后执行.deb sudo dpkg -i wiringpi-latest.deb 4、检查: gpio –v 5、获取wirngPi与gpio的映射图 gpio readall 参考: http://wiringpi.com/wiringpi-updated-to-2-52-for-the-raspberry-pi-4b/ 来源: oschina 链接: https://my.oschina.net/zhenggao/blog/4332660

微信小程序 阿里云服务器 非物联网平台自建MQTT代理服务器控制树莓派LED

本秂侑毒 提交于 2020-08-11 11:28:42
微信小程序 阿里云服务器 非物联网平台自建MQTT代理服务器控制树莓派LED 本人大三,临近毕业季,日后希望从事物联网和嵌入式相关工作,所以自己构想了一个项目来练手,之前做大创的时候学了一点微信小程序,大二的时候玩过一段时间的树莓派,寒假的时候买没顶住阿里云服务器的学生优惠买了一年的阿里云的服务器。之前的大创也是一个物联网的相关项目,当时使用的是中国移动的OneNet的物联网平台。 所以我灵机一动,就想到了自己搭建MQTT的代理通过微信小程序来控制树莓派的IO口的项目( •̀ ω •́ )✧ 前排提示:我也是个萌新,可能走了很多弯路,如果有迷惑操作欢迎指正相互学习哦(~ ̄▽ ̄)~ 前期准备 1.硬件准备 首先说一下完成这个项目我们所需要的硬件 1. 手机一台(IOS/Android皆可) 2. 树莓派(我用的4B 4G版,理论上其他型号也无所谓) 3. LED灯、杜邦线若干 我的成品如图 2.软件准备 下载微信开发者工具 直接下载对应版本 微信开发者工具 给树莓派安装系统 树莓派官网系统 我使用的是树莓派官方系统(之前用Ubuntu20.04 64位碰了很多壁⊙﹏⊙∥),这个地方萌新推荐安装 Raspberry Pi OS (32-bit) with desktop and recommended software 这个带推荐软件的版本,虽然大但啥都装好了对萌新友好

树莓派Zero W GPIO控制

橙三吉。 提交于 2020-04-21 08:22:14
作者:陈拓 chentuo@ms.xab.ac.cn 2018.06.09/2018.07.05 0. 概述 本文介绍树莓派 Zero W的GPIO控制,并用LED看效果。 0.1 树莓派GPIO编号方式 功能物理引脚 从左到右,从上到下:左边奇数,右边偶数:1-40 BCM 编号侧重CPU寄存器,根据BCM2835的GPIO寄存器编号。 wiringPi 编号侧重实现逻辑,把扩展GPIO端口从0开始编号,这种编号方便编程。如图 WiringPi一栏。 操作GPIO时一定先要清楚使用那一套编号。 1. 准备 1.1 硬件 树莓派Pi Zero W LED(3mm或5mm) 1KΩ电阻 杜邦线3根 电脑(我用Windows 7) 1.2 GPIO接口 1.3 接线 首先我们把LED和树莓派连接。LED的正极串联一个1KΩ电阻接树莓派的GPIO18(pin12),负极接地。(注意,下面借用了别人一张图,图中LED正极接在pin11上,我们是接在pin12上) 2. 测试 2.1 连接电脑和Pi Zero W 用putty连接电脑和Pi Zero W,看本文最后的参考文档。Host Name填raspberrypi.local,端口22,用户名pi,密码raspberry。 注意:boot 分区有一个名为ssh 的空文本文件,这个ssh 文件容易丢失,如果ssh 不能登录了,先检查ssh

RaspberryPi交叉编译环境配置-Ubuntu & wiringPi & Qt

爱⌒轻易说出口 提交于 2020-03-05 07:05:24
1、配置RaspberryPi交叉编译环境: 在开发RaspberryPi Zero的过程中,由于Zero板卡的CPU的处理性能比较弱,因此其编译的性能比较弱,需要将代码在PC电脑上交叉编译完成之后再拷贝到Zero上调试运行。配置交叉编译环境的基本步骤如下所示: Step1: 从github网站获取raspberryPi交叉编译工具包: https://github.com/raspberrypi/tools git clone git@github.com:raspberrypi/tools.git 上述文件下载完之后的内容如下所示 (其中arm-bcm2708文件夹中的内容为交叉编译器) : Step2: 将交叉编译器配置到环境变量: 编辑环境变量配置文件 .bashrc ,在文件的末尾添加如下的代码 (注意路径,不同的路径记得修改) : export PATH=$PATH:~/Raspberry_Project/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin 配置完成之后,需要执行source指令,让.bashrc生效: source ~/.bashrc Step3: 测试交叉编译环境 如下图所示,在ubuntu命令行中输入如下指令: arm-linux-gnueabihf-gcc -v

03 树莓派开发注意事项

血红的双手。 提交于 2020-01-08 09:10:59
1 编译GCC文件   gcc -o 要生成的文件名 -lwiringPi -lpthread 源文件名.c 2 假如在window操作系统里面编译了脚本文件 .sh,复制到树莓派里面不能执行,究其原因 \r 与\r\n的区别   sed -i 's/\r$//' 源文件名.sh 3 安装 wiringPi.h    cd /tmp   wget https://project-downloads.drogon.net/wiringpi-latest.deb   sudo dpkg -i wiringpi-latest.deb   检查 gpio -v   gpio readall 4 来源: https://www.cnblogs.com/Record-experience/p/12118609.html

02树莓派4B—C语言编程——PWM

拈花ヽ惹草 提交于 2020-01-08 08:32:38
01树莓派直接输出PWM波 —— 硬件PWM程序 (推荐使用) #include <stdio.h> #include <wiringPi.h> #include <softPwm.h> //必不可少 int main( void) {   int pwm_gpio5 = 1; //使用GPIO5   int i=0;   wiringPiSetup(); //写的不严谨 应该也判断一下, 看初始化是否成功   pinMode(pwm_gpio5 ,PWM_OUTPUT);   printf("pwm_gpio5 is blinking...\n");   for(;;)   {     for(i=0;i<1024;i++)     {       pwmWrite(1,i);       delay(10);       printf("Testing is %d......\n",i);     }     for(i=1023;i>0;i--)     {       pwmWrite(1,i);       delay(10);       printf("Testing is %d......\n",i);     }   } } 02树莓派直接输出PWM波 —— 软件PWM程序 #include <stdio.h> #include <wiringPi.h>

Why does not WiringPiISR block the main routine when it is fired?

流过昼夜 提交于 2019-12-24 11:15:51
问题 I am developing a program in C to run on a raspberry board. In the program i want to use WiringPiISR to handle a pin triggered interrupt. However, I have found that instead of blocking the main routine, the wiringPiISR creates a concurrent thread. Am i missing something? Minimal code example : #include <WiringPi.h> #include <unistd.h> int Check=0; void Isr() { while (1) { sleep(1); Check++; } } int main() { wiringPiSetup () ; pinMode(7, INPUT) ; wiringPiISR (7, INT_EDGE_BOTH ,&Isr); while (1)

to transmit and receive floating point using serial communication c++

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-24 06:44:07
问题 using WiringPi library for serial communication on Raspberrypi the function serialPutchar(int fd, unsigned char c) and serialGetchar (int fd) works fine to send and receive integer value but does not show floating points sender side int main () { int fd ; int count ; float val; if ((fd = serialOpen ("/dev/ttyAMA0", 9600)) < 0) { fprintf (stderr, "Unable to open serial device: %s\n", strerror (errno)) ; return 1 ; } if (wiringPiSetup () == -1) { fprintf (stdout, "Unable to start wiringPi: %s\n

树莓派系统配置和软件安装

自作多情 提交于 2019-12-06 13:59:28
版权声明:本文为博主原创文章,转载请注明出处。 https://www.cnblogs.com/YaoYing/ 系统配置和软件安装 关闭WiFi功能 sudo vim /boot/config.txt 在最后一行添加 dtoverlay=pi3-disable-wifi 修改DNS地址 sudo vim /etc/resolv.conf 在最后一行添加 nameserver 8.8.8.8 保存文件并退出 安装WiringPi库 查看系统是否已经安装WiringPi库 gpio –v gpio readall 如出现上图所示代表已经安装,请跳过下面步骤。 可以通过下面命令进行安装 sudo apt-get install wiringpi 详细安装步骤如下 WiringPi详细安装步骤 安装Sqlite3库 查看系统是否已经安装Sqlite3 sqlite3 如出现上图所示代表已经安装,请跳过下面步骤。 下载Sqlite3安装包 Sqlite3安装包 将安装包传送到树莓派中解压缩 tar -zxvf sqlite-autoconf-3300100.tar.gz 进入源代码目录 cd sqlite-autoconf-3300100/ 安装数据库 ./configure make make install 内容持续更新中...... 如有错误之处,请评论或者私信指出,非常感谢! 来源

python websocket 发送 sensor 数据

早过忘川 提交于 2019-12-06 08:25:19
搞了几天,顺便把代码贴这里,需要的 python 包: gevent,gevent-websocket,bottle,wiringpi-python gevent 提供了支持 concurrent,以及 concurrent 下的 socket 操作。注意,引入 monkey 后,socket 就是 genvent 封装过的了,不再是系统原生 socket。 连接到 /ws 后,链接为长链接,使用 gevent.Timeout() 提供的 alarm 来周期执行 sensor 读操作,并将读到的数据发送给 client。 默认返回是一个 web client,提供了一个 textarea,将 server 发来的数据显示出来。 from bottle import route, run, request, abort, Bottle, static_file from gevent import monkey; monkey.patch_all() from gevent import sleep, Timeout import wiringpi import serial app = Bottle() host = '0.0.0.0' port = 8080 SensorData = '' fdI2c = wiringpi.wiringPiI2CSetup(0x40) ser =