ThingSpeak本地部署
来源:互联网 发布:万界淘宝商 编辑:程序博客网 时间:2024/06/05 13:33
1、ThingSpeak是什么
ThingSpeak是MathWorks公司(没错,就是Matlab那个公司)开发的一个开源的物联网云端平台,用于管理各种接入的物联网设备,实现数据管理,数据存储,数据可视化,数据分析等功能,这一云平台是开源的,参考:https://github.com/iobridge/thingspeak#installation-on-clean-install-of-ubuntu-1204-lts。你可以在ThingSpeak这个平台上免费(channel和速度是有限制的)或付费来管理自己的物联网设备和数据,也可以自己在服务器上部署它的开源代码。但需要注意的是,虽然ThingSpeak平台相对于其他物联网平台来说,社区会大一些,但是开源代码已经很久没有更新过了,不知道是不是已经被抛弃。当然啦,我认为它对于搭建自己的物联网平台还是有帮助的。
2、ThingSpeak部署参考资料
笔者找了很久关于ThingSpeak的资料,用的人不多,可以参考的主要就是GitHub上官方的开源代码里的Guide和这篇文章:https://www.cnx-software.com/2016/12/07/how-to-install-thingspeak-in-ubuntu-16-04/ (已经写的很详细,非常感谢)。我在自己的电脑上部署了一下(Ubuntu 16.06),折腾了三天才搞定,遇到了很多奇葩的问题,记录下来。打算之后再部署到阿里云上,后续会更新教程。
3、遇到的问题及解决办法
1 Ubuntu 14.04安装rubygems时报错
E: Package ‘rubygems’ has no installation candidate
解决方案:
sudo apt-get install rubygems-integration
2 执行 gem install bundler时报错
Error:
Could not find a valid gem 'bundler' (>=0) in any repository
原因:默认是从https://rubygems.org获取安装源,不知道是不是这个原因就被阻止访问,改成http://rubygems.org就可以获取安装包了。
gem install bundler -p http://rubygems.org
3 执行 bundle install报错:运行主体错误
Warning: Don't run bundle as a root ……
这个警告从字面意义上来看是指不能够以root超级管理员的身份来bundle install,这样其他用户是无法使用的,虽然这是一个警告,不会影响程序的执行,但是会发现命令行就卡在这里,不在继续运行。最后试了好久发现把Thingspeak文件夹下的Gemfile里的http://rubygems.org 改为https://rubygems.org 后虽然warning还在,但是是可以成功bundle install的。
4 执行 bundle install报错:tzinfo-data版本问题
在执行bundle install时会安装许多包,其中tzinfo-data报错
Error:Downloading tzinfo-data-1.2013.8 revealed dependencies not in the API or the lockfile (tzinfo(>=1.0.0))
字面意思上看,问题似乎出在版本依赖性兼容性方面,开始我以为是对tzinfo-data这个包有特殊的版本要求,后来才发现原来是因为thingspeak自身对该包的版本有一个要求,而我的bundler版本是1.16.0,太新了所以不在支持安装旧版本的tzinfo-data.我想修改源代码升级包的版本也是可以的,不过为了更加可靠,我还是卸载了原来的bundler,重新安装了更低版本的bundler(看到了帖子说需要安装v1.12.5~v1.15.4)
卸载和安装代码如下:
gem uninstall bundlergem install bundler --version=1.14.1bundle install#这下安装成功,显示bundle complete!
5 MySQL报错
不知道是由于安装步骤出错还是自己瞎弄把MySQL玩坏了,输入mysql -u root -p无法进入mysql命令行,报错:
Error: The program 'mysql' can be found in the following packages: *. mysql-client-core 5.7 *. mariadb-client-core 5.7 Try : apt-get install <selected package>
网上查了一下应该是Mysql没安装好或环境变量没有设置好,按网上说的设置了环境变量没有用,可能我不是这个原因,于是卸载了mysql又重新装了一遍(就是这么简单粗暴)
怎样彻底删除mysql:
sudo apt purge mysql_*sudo rm -rf /etc/mysql/ /var/lib/mysqlsudo apt autoremovesudo apt autoreclean
重新安装mysql:
sudo apt-get install mysql-serversudo apt install mysql-clientsudo apt install libmysqlclient-dev #这步一定要有,否则后面还是会出问题
测试mysql是否安装成功
sudo netstat -tap | grep mysql
- ThingSpeak本地部署
- ThingSpeak服务器部署
- tomcat本地部署 和nodejs本地部署
- Maven部署本地仓库
- SVN部署(本地)
- WordPress本地部署安装
- jenkins部署本地项目
- MP本地部署常见问题
- nodejs 本地应用部署
- 部署到本地iis
- win10 jetty 本地部署
- JSPWiki本地安装部署
- 本地部署Bootstrap文档
- Exceptionless 本地部署
- eolinker本地部署教程
- jenkins实现本地部署
- 本地部署ngrok
- Maven远程部署和本地部署
- 图的遍历——DFS
- 【学习总结】git命令集笔记
- algo_Coordinate descent
- Ubuntu14.04安装LSD-SLAM
- 数据结构实验之图论三:判断可达性
- ThingSpeak本地部署
- Json,String,Map之间的转换
- klocwork 12.3
- 有N个人围成一圈做游戏,规则如下:从某一个人开始报数,依次报1,2,3,喊到3的人出局。
- 学seo教程的结果与排名不成正比的原因分析
- hbase通过BulkLoad的方式快速导入海量数据
- QT界面设置背景图片
- 变形课
- 带logo的二维码Java生成代码