前段时间组里举办了前端IOT大赛,借此机会熟悉了RaspberryPi相关的东西,特此记录一些相关文档和开发攻略。先介绍一些RaspberryPi的入门教程阮一峰的RaspberryPi入门微雪电子-RaspberryPi硬件中文官网ssh链接RaspberryPisshpi@dd.dd.dd.dd(ip)密码:raspberrysetdisplaydevice推荐购买3.5英寸或5英寸HDMI显示设备。第一次买的3.2寸串口显示器占用了我串口的20个针脚。请在此处查看设备链接。使用3.5英寸显示器。cd/boot/LCD-show/./LCD35-show使用HDMI输出cd/boot/LCD-show/./LCD-hdmi设置旋转屏幕设置显示方向通过运行以下命令修改屏幕旋转方向。旋转0度:cd/boot/LCD-show/./LCD35-show0旋转90度:cd/boot/LCD-show/./LCD35-show90旋转180度:cd/boot/LCD-show/./LCD35-show180旋转270度:cd/boot/LCD-show/./LCD35-show270声音设置为非HDMI输出Bashsudoamixercsetnumid=31注意如果你是浏览器播放声音。.拔掉显示器后,浏览器好像进入后台模式,不播放声音。介绍一些相关的nodejs库https://github.com/rwaldron/j...一个适配各种板卡串口的基础库,需要点亮小LED灯泡的时候用到。Raspi-ioRaspi-io是在RaspberryPi上运行的Raspbian的FirmataAPI兼容库,可用作Johnny-Five的I/O插件。与上述库一起使用。rpiohttps://github.com/jperkin/no...这是一个高性能的node.js插件,提供对RaspberryPiGPIO接口的访问,支持常规GPIO以及i2c、PWM和SPI。一个控件打开某个串口管脚的基础库。serialporthttps://github.com/EmergingTe...一个链接和控制硬件的基础库,比如控制USB串口,与链接到USB串口的设备通信等。它有很多版本,树莓派版本是这里https://www.npmjs.com/package...安装有点麻烦。我折腾了3个小时,,,,点亮一个LED灯。LED灯分为两个引脚的简单二极管灯。布光见阮一峰博客。让我们关注如上所示的RGBLED灯。关于点亮此类灯的教程相对较少。第一步是选择相应的串口引脚。首先,不要插入pin2,即+5V端口之一。我插入了两个RGB:[29,31,33],[36,38,40]代码如下varfive=require("johnny-five");varRaspi=require('raspi-io')varrpio=require('rpio');varisLED1On=false;varisLED2On=false;varLED={LED1:null,LED2:null,init(LED1=[29,31,33],LED2=[36,38,40]){varboard=newfive.Board({io:newRaspi({enableSoftPwm:true})});这个.LED1=LED1;this.LED2=LED2board.on('ready',function(){returnnewPromise(function(resolve,reject){varled1=newfive.Led.RGB({pins:{red:`P1-${LED1[0]}`,绿色:`P1-${LED1[1]}`,蓝色:`P1-${LED1[2]}`,}})varled2=newfive.Led.RGB({pins:{红色:`P1-${LED2[0]}`,绿色:`P1-${LED2[1]}`,蓝色:`P1-${LED2[2]}`,}})//打开11号针脚(GPIO17)作为输出rpio.open(LED1[0],rpio.OUTPUT);rpio.open(LED1[1],rpio.OUTPUT);rpio.open(LED1[2],rpio.输出);rpio.open(LED2[0],rpio.OUTPUT);rpio.open(LED2[1],rpio.OUTPUT);rpio.open(LED2[2],rpio.OUTPUT);rpio.open(LED1[0],rpio.HIGH);rpio.open(LED1[1],rpio.HIGH);rpio.open(LED1[2],rpio.HIGH);解决(董事会);})})},openLED1(){console.log('led1'+JSON.stringify(this))rpio.write(this.LED1[0],rpio.HIGH);rpio.write(this.LED1[1],rpio.HIGH);rpio.write(this.LED1[2],rpio.HIGH);isLED1On=真;},openLED2(){rpio.write(this.LED2[0],rpio.HIGH);rpio.write(this.LED2[1],rpio.HIGH);rpio.write(this.LED2[2],rpio.HIGH);isLED2On=真;},关闭LED1(){console.log('led1'+JSON.stringify(this))rpio.write(this.LED1[0],rpio.LOW);rpio.write(this.LED1[1],rpio.LOW);rpio.write(this.LED1[2],rpio.LOW);isLED1On=假;},closeLED2(){rpio.write(this.LED2[0],rpio.LOW);rpio.write(this.LED2[1],rpio.LOW);rpio.write(this.LED2[2],rpio.LOW);isLED2On=假;},flashLED1(){if(isLED1On){返回;}变种自己=这个;self.openLED1();setTimeout(function(){self.closeLED1();},3000);},flashLED2(){如果(isLED2On){返回;}变种自己=这个;self.openLED2();setTimeout(function(){self.closeLED2()},3000);},}module.exports={led:LED}更多内容详见我的博客
