前言

原创文章,转载引用务必注明链接。

最近在闲鱼上与别人用RPi2尸体+好的BBB换了个Arduino Yun,等了几天赶在节前收到了。出奇的轻巧,产地台湾,官方正品做工就是精细~采用5v MicroUSB接口供电。开机上电参考葉難大大写的文章就行啦。

本文使用Markdown写成,为获得更好的阅读体验和正常的图片、链接,请访问我的博客:

http://www.cnblogs.com/sjqlwy/p/arduino_blynk.html

Arduino Yun

优点

  • 有Wifi
  • 可以与Linux通信
  • 完整兼容Arduino,比如DHT22这种传感器可以直接使用

缺点

  • 没蓝牙
  • 超低配版Intel Edison,价格不低
  • 由于LAN和USB接口的存在,盾板(Shield)不能完全插上去,害怕短路。。。

Blynk

在我之前的项目里面有介绍,Virtual Pin很棒,不赘述啦。非常好用,就是点数要购买。本项目算是上手Arduino Yun的,分为三部分组合而成:

一、LED Blynk

安装Blynk库之后,选择Boards_Wifi——Arduino_Yun即可。手机安装Blynk程序并注册。添加按钮,设置LED所在的数字引脚

二、读取温度传感器数值

使用grove官方例程,传送到虚拟引脚V5,手机APP 标签控件可以接收到。但是历史记录曲线图控件工作不正常,是不是Virtual Pin的值无法复用,不能够啊?使用push方法由Arduino主动推送而不是Blynk程序去请求,参考blynk官方示例使用SimpleTimer库。

三、将温度传感器值在LCD上显示出来

也是官方示例,具体可以看看grove lcd的库文件和示例。

完整代码

#include <Bridge.h>
#include <BlynkSimpleYun.h>
#include <math.h>
#include <Wire.h>
#include "rgb_lcd.h"
#include <SimpleTimer.h> // here is the SimpleTimer library char auth[] = "APP里面的token"; // Put your token here rgb_lcd lcd; const int B=4275; // B value of the thermistor
const int R0 = 100000; // R0 = 100k
const int pinTempSensor = A1; // Grove - Temperature Sensor connect to A1 SimpleTimer timer; // Create a Timer object called "timer"! void setup()
{
// Serial.begin(9600);
Blynk.begin(auth);
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// turn off backlight:
// lcd.setRGB(0, 0, 0);
lcd.print("Currnet TEMP is");
lcd.setCursor(5,1);
// or use CustomCHaracter to display ℃
lcd.print(" C");
timer.setInterval(1000L, sendUptime); // Here you set interval (1sec) and which function to call
} void sendUptime()
{
// This function sends Arduino up time every 1 second to Virtual Pin (V1)
// In the app, Widget's reading frequency should be set to PUSH
// You can send anything with any interval using this construction
// Don't send more that 10 values per second
float temperature = getTemperature();
lcd.setCursor(0,1);
lcd.print(temperature);
Blynk.virtualWrite(V5, temperature);
} void loop()
{
Blynk.run(); // all the Blynk magic happens here
timer.run(); // SimpleTimer is working
} float getTemperature()
{
int a = analogRead(pinTempSensor);
float R = 1023.0/((float)a)-1.0;
R = 100000.0*R;
float temperature=1.0/(log(R/100000.0)/B+1/298.15)-273.15;//convert to temperature via datasheet ;
return temperature;
// Serial.print("temperature = ");
// Serial.println(temperature);
}

每秒钟更新温度值。开了背光之后还是很耗电的。另外Arduino Yun空载170mA左右,远高于Intel Edison的70mA,以及Arduino UNO R3 的20mA。

2018年2月20日更新

采用自建Blynk服务器可以获得大量点数,目前用docker建了一个,还阔以,有需要的PM我

入手Arduino Yun,配合Blynk搞一波事情的更多相关文章

  1. 指示灯组与3个复位按钮的介绍Arduino Yun快速入门教程

    指示灯组与3个复位按钮的介绍Arduino Yun快速入门教程 1.4.2  指示灯组 指示灯组的放大图如图1.5所示. 图1.5  指示灯组 各个指示灯对应的功能如下: q  RX:对应于0号端口, ...

  2. Use Node.js DDP Client on Arduino Yun to Access Meteor Server

    Use Node.js DDP Client on Arduino Yun to Access Meteor Server 概述 在Arduino Yun上安装 Node.js, 并測试与 Meteo ...

  3. ArduinoYun教程之配置Arduino Yun环境

    ArduinoYun教程之配置Arduino Yun环境 配置Arduino Yun 不管你使用前面介绍的哪种方式连接Arduino Yun.如今都能够配置你的Arduino Yun了.首先须要的是使 ...

  4. ArduinoYun教程之OpenWrt-Yun与CLI配置Arduino Yun

    ArduinoYun教程之OpenWrt-Yun与CLI配置Arduino Yun OpenWrt-Yun OpenWrt-Yun是基于OpenWrt的一个Linux发行版.有所耳闻的读者应该听说他是 ...

  5. ArduinoYun教程之通过网络为Arduino Yun编程

    ArduinoYun教程之通过网络为Arduino Yun编程 Arduino Yun的软件部分 通过第一章的介绍后读者就明白了Arduino Yun除了是一个类似其他Arduino的单片机之外,它的 ...

  6. Arduino Yun高速新手教程(大学霸内部资料)

    Arduino Yun高速新手教程(大学霸内部资料) 本资料为国内第一本Arduino Yun教程.具体解说Arduino Yun的基本结构.开发环境.系统配置.并着力解说关键功能--Bridge.最 ...

  7. bootstrap,bootstrap-table,bootstrapValidator,animate,layer配合起来搞事情

    资源准备(just download) bootstrap: http://www.bootcss.com/ bootstrap-table: http://bootstrap-table.wenzh ...

  8. yml文件搞一波

    引用https://www.cnblogs.com/zslli/p/8717483.html https://www.cnblogs.com/baoyi/p/SpringBoot_YML.html 划 ...

  9. 第一篇随笔:用VB.NET搞点简单事情(1)

    网络上能搜索到的爬虫文章大多是用python做的,也有少部分是C#做的(小声:所以用VB.NET也可以做爬虫.本文写的是第一步:获取网页) 使用代码前先imports以下内容 Imports Syst ...

随机推荐

  1. python logging with yaml

    Recently, I was made a service which can provide a simple way to get best model. so, i spent lot of ...

  2. (转)自定义UITabBar

    push页面时,可调用hidesBottomBarWhenPushed进行隐藏. 第一步,我们需要一些图片: 各个选项的图标和tabbar的背景图片,最后还要一个透明的1x1像素的图片. 第二步,新建 ...

  3. Verilog学习笔记基本语法篇(四)·········块语句

    块语句是指将两条或者两条以上的语句组合在一起,使其在格式上更像一条语句.块语句分为两种: 1)用begin_end语句,通常用来标识顺序执行的语句,用它标识的块称作顺序块: 2)用fork_join语 ...

  4. redis配置cluster分布式集群

    #下载最新的redis5. wget http://download.redis.io/releases/redis-5.0.3.tar.gz .tar.gz cd redis- make make ...

  5. Knockout v3.4.0 中文版教程-8-计算监控-纯计算属性

    4.纯计算属性 纯计算监控在KO 3.2.0中开始引入,比大多数应用程序使计算监控有更大的性能提升和内存优化.这是因为在自身没有订阅的时候不会保持订阅状态.特性如下 阻止内存泄露 - 避免在应用程序里 ...

  6. Linux中执行shell脚本命令的4种方法总结

    bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在 ...

  7. .NET重构(八):周结账单中,给报表添加参数

    导读:进行完了日结报表的制作,大松一口气.不过,刚开始看着周结账单中的两个参数问题,也是愁了很久.不过,只要思想不滑坡,办法总比困难多.接下来,就写写我制作周结账单报表的过程. 一.添加参数 1,在日 ...

  8. PTA 08-图8 How Long Does It Take (25分)

    题目地址 https://pta.patest.cn/pta/test/16/exam/4/question/674 5-12 How Long Does It Take   (25分) Given ...

  9. python 列表 字符串 转换

    列表转字符串python中的列表l = ['1','2','3','4']转成str型'1,2,3,4'','.join(l)这个方法,列表里都是字符串的话可以这样用.列表里是整数的情况可以用: &g ...

  10. Codeforces 547B. Mike and Feet[单调栈/队列]

    这道题用单调递增的单调栈维护每个数能够覆盖的最大区间即可. 对于   1 2 3 4 5 4 3 2 1 6 这组样例, 1能够覆盖的最大区间是10,2能够覆盖的最大区间是7,以此类推,我们可以使用单 ...