1.申请/购买OSS服务 在阿里云上申请/购买OSS服务, 然后在会得AccessKeyID,AccessKeySecret,bucketName 这三个东西 2.增删改查 在pom.xml文件上增加 <!-- https://mvnrepository.com/artifact/com.aliyun.oss/aliyun-sdk-oss --> <dependency> <groupId>com.aliyun.oss</groupId> <artif…
0. 前言 时隔多日,前段时间忙完一个可有可无的项目后,又进入摸鱼时间,没有办法,非互联网公司,就是闲得蛋疼.又开始了自学之路.以前入门过Docker,然后又很久没有看了,最近重新看了一下,推荐一下这个人的博客: https://www.cnblogs.com/CloudMan6 写得不错,深入浅出.然后学着测试练习一下,部署Etcd服务当作练手.下面是利用Docker部署一个Etcd单机集群测试环境.顺便回顾一下Docker 基本操作. 由于Docker更新特别快,需要较新的Linux内核版本…
0. 前言 一个完整的微服务解决方案包含了许多微服务,基于我们需要观察各个微服务的运行状态,因此Spring Boot 生态提供了Spring Boot Admin 这个组件来实现微服务管理WEB UI.但是整体的注册中心还是基于Eureka,只是WebUI是用这个Spring Boot Admin 来显示而已.具体的结构如下所示 1. Eureka服务 这个没什么好说的,按照创建一个微服务的流程,通过 Spring Starter 工具,自动生成一个Eureka微服务.主要就是配置Applic…
0. 前言 最近基本都是学一些环境配置,和一些中间件的安装与配置.没有实际编写代码.可能看起来有点水,我对自己的学习方式是,先要了解各个中间件的安装配置以及简单使用,理论应用场景,然后我在小项目中,逐步引入这些高大上的中间件,看实际效果怎样,合不合适我自己用.一开始绝对不会花太多时间去了解技术系统,我觉得,我的工作是做应用开发,不是底层研发.开发就是以满足实际需求为前提,怎么做到适合自己使用,怎么方便怎么来. 也有和一些人聊过,一般开发人员太爱自己造轮子了,实际项目,还是要用市场上普遍使用的开源…
0. 前言 现在项目处于初级阶段,按照规划,先构建几个以后可能会用到的Image,并上传到阿里云的Docker仓库.以后博客中用到的Image,大部分都会用到这几个基础的Image,构建一个简单的物联网架构.好了,废话不说,开始咯. 1. 构建STUNServer服务 STUN服务,是一个标准的服务,用户判断当前外网IP,主要用于NAT判断.我使用的是 https://github.com/jselbie/stunserver 这个开源的STUN服务,直接 git clone 下来,执行dock…
看过之前的文章就知道,我之前是通过搞插件,或者通过里面的MongoDB来进行EMQ的鉴权登录和权限验证.但是前段时间发现,还是通过HTTP WebHook 方式来调用鉴权接口比较适合实际使用.还是实现设备分配一个device_id和device_key两个信息.即登录我们的业务服务器,同时登录EMQ通信服务器.免去了中间获取临时登录MQTT-Token的流程. 下面就看这么实现基于HTTP的Auth. 首先在EMQ的后台,管理-插件-emqx_auth_http中开启插件.(注意由于距离上次已经…
Python使用阿里云OSS服务 前言: 在远程搭建了一个平台,通过改远程平台进行数据的采集,需要将数据内容传送至本地进行处理:为了实现该功能,考虑了阿里云的OSS对象储存的服务. 40G包月只需1元:-) 甚至还有客服致电给你,说有问题可直接通过电话联系对方,15星好评 OSS安装 关于账号注册,开通服务等等功能直接去阿里云的官方进行相应操作即可 安装python-devel win:此过程不需要,在安装Python时已经包含了: Debian/Ubuntu:apt-get install p…
对于付不起钱的小伙计,为了给公司省钱,想尽一切招数.今天就来分享一个使用阿里云OSS存储搭配CDN使用的网站服务器部署方法. 简介 阿里云OSS 阿里云提供的一种文件存储方案,和我们以前接触的百度云BCS和新浪云的Storage是一个道理,即文件的云端存储方案.一般而言,OSS只存储网站所需要的静态文件,而不存储程序文件.例如将网站的图片.视频.脚本.样式等文件存储在OSS,同时,OSS实际上有点类似我们以前使用的第三方服务商提供的相册,OSS上的文件,阿里云会给一个url让你可以直接使用.在依…
2015-10-26 angularjs结合aliyun浏览器端oos文件上传加临时身份验证例子 在服务端获取sts 源码: public class StsServiceSample { // 目前只有"cn-hangzhou"这个region可用, 不要使用填写其他region的值 //<setting name="accessKeyId" value="H6JSh0Y****z2cGa" /> //<setting nam…
1.前言 Spring Cloud 现在比较流行,版本更新也是蛮快的,网上资料也是很多.很多参考网上资料就可以学到了.这里给个 http://blog.csdn.net/forezp/article/details/70148833 2.放弃 本来还想写一篇Spring Cloud 入门环境搭建的博客, 后来想了想,还是算了,网上资料一大堆.这里就不写了. 3.吹水 下面就简单聊聊天,吹吹水算了 2018.01.18 笔记 公司网速不行,在进行Maven项目以来更新,偷偷写一些经历. 现在开始学…
0.前言 一开始学的之后,是想一步到位直接上Kubernetes(K8s)的,后面没想到,好像有点复杂,有些概念不是很懂.因此学习东西还是要循序渐进,慢慢来.先了解单机编排技术Docker Compose,了解一些技术细节及原理后,在入手K8s.还是不能一口吃成胖子,要多吃几口才可以.而且目前公司都是一些小项目,能用得上DockerCompose已经很不错了,还想要上K8s,估计是不现实的. 1. 安装 可以通过运行下面命令进行安装, curl -L https://github.com/doc…
0. 前言 前面介绍的都是一些标准的第三方中间件,基本都是有现成的Dockerfile或者Image,不需要我过多的关心,这一篇要介绍一些自己构建的Docker Image了.刚开始学,Dockerfile写得比较挫,请见谅哈!!! 1. 构建Nginx-RTMP镜像 由于基于Nginx的RTMP插件的镜像,好像没有找到.同时为了以后可以自己自定义功能,因此需要自己构建镜像.关于Nginx构建,可以参考官方的文档https://github.com/nginxinc/docker-nginx/…
0.前言 今天域名备案申请下来了,接下来就是申请个SSL证书,现在普通的网站没有SSL都不好意思见人了.可是稍微好点的企业级SSL证书还是比较贵的.不过还好有免费的可以用.只不过要定时去续时间.这个不说了.一开始是想用又拍云提供的免费证书的.但是这几天碰巧在开源中国看到一篇快速申请证书的博客.就按照操作进行申请,发现好简单哦. https://my.oschina.net/kimver/blog/1634575 申请Let's Encrypt通配符HTTPS证书1. 申请SSL证书 curl h…
1. 安装RTMP流媒体服务器 以前其实我是利用Nginx-RTMP-module搭建过RTMP流媒体服务器,并实现了鉴权功能.参考https://www.cnblogs.com/wunaozai/p/9427730.html,看看发布时间,已经是一年多以前的事情了,感概时间过得好快啊. 先在Nginx官网[http://nginx.org/en/download.html]下载源码包,然后在github[https://github.com/arut/nginx-rtmp-module]下载插…
一.前言 前面博客大部分介绍了基于EMQ中间件,通信协议使用的是MQTT,而传输的数据为纯文本数据,采用JSON格式.这种方式,大部分一看就知道是熟悉Web开发.软件开发的人喜欢用的方式.由于我也是做web软件开发的,也是比较喜欢这种方式.阿里的物联网平台,也是推荐这种方式.但是,但是做惯硬件开发,嵌入式开发就比较喜欢用裸TCP-Socket连接.采用的是二进制协议.基于此大部分应用场合为了兼容旧设备,就需要单独开发一个TCP服务器的网关.这里使用以前学过的,也是比较流行的Netty框架. 话不…
1. 前言 下载最新版的JavaEE eclipse-jee-oxygen-2-win32-x86_64.zip 安装STS插件 Window->Eclipse Marketplace -> popular 下那个 Spring Tools(aka Spring IDE and Spring Tool Suite) 然后通过STS工具创建一个新的Spring boot工程,这里就不细说了.网上资料很多,也比较简单就可以搭建起来.后面对SpringBoot也只是简单的提一下,还有说一下注意点.没…
1. 前言 物联网平台,需要有一个类似大屏看板的功能. 找了一圈,发现阿里已经有对应的DataV产品,但是那个价格有点贵啊.所以找了这个[http://datav.jiaminghi.com/demo/],这看起来也是挺不错的.就是需要了解一些前端Vue.说到前端,我之前好久就想入门了.断断续续看视频,写Demo,写小程序.但都处于入门阶段.而且前端变化太快了.半年没看,就各种更新了.不过还是迟早要学的. 2. 安装环境 安装IDE,这里推荐VSCode,然后安装Vetur 插件 Google…
一.前言 时隔一年半,技术变化特别快,学习也要跟上才行.以前写过EMQ数据转存问题,当时用了比较笨的方法,通过写插件的方式,把MQTT里面的数据发送到数据库进行存储.当时也是为了学习erlang和emq.现在随着对物联网的深入,也结合实际需求,不停的学习.下面将介绍我实验测试可行的物联网数据分析解决方案.采用的还是开源方案.通过订阅MQTT的根Topic,把所有物联网数据转存到InfluxDB时序数据库,然后通过Grafana进行图表显示.这应该是目前比较流行的方案.二.安装InfluxDB I…
0. 说明 哈哈,前面中间插入了一篇Eclipse增加Git插件,在此之前真的没有用过GIT. 1. 运行Jenkins 这里为了方便,还是用Docker方式安装,由于这个是标准的war报,不对Docker Image进行过多的干预,直接使用官方的Jenkins即可 docker pull jenkins/jenkins:lts 写一份docker-compose.yml version: '3' services: jenkins: image: registry.cn-shenzhen.al…
1. 了解 物联网最基础的就是通信了.通信协议,物联网协议好像有那么几个,以前各个协议都有优劣,最近一段时间,好像各大厂商都采用MQTT协议,所以我也不例外,不搞特殊,采用MQTT协议,选定了协议,接下来就是选一个MQTT服务器(Broker),项目初期肯定是使用开源的解决方案会好一点,一方面是有人为之填坑,一方面可以快速搭建原型.等以后有人.有资源.有用户,在自己定制开发一套系统.基于各种考虑(更多的是领导的要求)选择了国人开发的MQTTBroker EMQ框架 (http://emqtt.c…
1. 说明 以下用到的知识,是建立在我目前所知道的知识领域,以后如果随着知识的拓展,不一定会更新内容.由于不是EMQ公司的人,EMQ的文档又很少,很多知识点都是靠猜的.2. 一些资料 架构设计 http://emqtt.com/docs/v2/design.html 扩展插件 http://emqtt.com/docs/v2/plugins.html  一些自带的插件3. 写插件 经过上一篇博客讲解的,编译_relx后,在deps目录下就会包含了所有依赖包以及插件包,在这个目录下有个emq_pl…
1. 前言 按照我自己设计的物联网框架,对于MQTT集群中的所有消息,是要持久化到磁盘的,这里采用一个消息队列中间件Kafka作为数据缓冲,缓冲结果存到数据仓库中,以供后续作为数据分析.由于MQTT集群中的消息都是比较分散的,所以使用Kafka来聚合.采集消息. 2. 下载&编译&安装 Kafka依赖ZooKeeper 在这里下载 http://mirrors.shuosc.org/apache/zookeeper/zookeeper-3.4.11/zookeeper-3.4.11.tar…
1. 说明 在我的物联网平台框架框架中,会用到Redis这个中间件.作为EMQ权限认证的缓存.https://www.cnblogs.com/think-in-java/p/5123884.html 2. 编译&运行 wget http://download.redis.io/releases/redis-4.0.6.tar.gz make && make test && make PREFIX=/home/user/workspace/redis install…
0.前言 前段时间,考虑到要练习部署一套CI/CD的系统.一开始考虑到Jenkins,随着这两天的了解,发现最新版的GitLab已经提供有CI/CD集成了.所以本次博客,干脆一步到位,直接用GitLab里面的CI/CD模块.Jenkins可能需要更高级的应用场合.经过测试GitLab自带的功能完全符合我的需求. 1. 安装GitLab和GitLab-CI(gitlab-runner) 英语比较好的,可以直接看官方文档.https://docs.gitlab.com/omnibus/docker/…
0.前言 上一篇已经安装好Rancher了,这一篇主要是简单的操作一下Rancher,了解一些常用功能.1.集群信息 选择对应的集群,查看对应集群信息. 还可以执行kubectl命令,命令可以参考前几篇博客从入门到放弃的K8S博客 商店,选择集群-System-应用商店-启动 可以增加一个阿里的商店[https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts]master分支 查看工作负荷 2.新增服务应用 集群-Default-部署服务 新增一…
0. 前言 这段时间要入门一下CI/CD了,以前简单的了解过Jenkins,现在要把以下的这个图的架构搭建起来.国外可能一两个命令就安装完成的事情,我折腾了2天多,真的差点放弃了. 1. 安装VirtualBox 参考这篇官方文档 https://www.virtualbox.org/wiki/Linux_Downloads 在 /etc/apt/sources.list 增加以下内容 deb [arch=amd64] https://download.virtualbox.org/virtua…
0.前言 上一篇博客已经介绍了,阶段性小结.目前第一版的物联网平台已经趋于完成.框架基本不变了,剩下就是调整一些UI,还有配合硬件和市场那边,看看怎么推广这个平台.能不能挣点外快.第一版系统虽然简陋,但是对于整个物联网业务的了解还是有很大的帮助的.就像一个道理,吃10个包子,吃到最后一个饱了,但不能说前面9个没有用.不过硬件.市场.项目等等,这些是我不能控制的.但是平台的迭代和第二版规划不能停.第二版物联网平台,将采用现有的企业开发框架,并且是前后端分离,开始用上前端的Vue框架. 前段时间,经…
0. 前言 作为物联网平台开发,最基础的工具链还是要有的.前几篇博客,介绍了用C#开发一个MQTT的客户端,用于模拟设备连接平台,并发送数据到平台.但是对于一些硬件来说,可能会用到串口uart来发送数据.然后经过模块,转换为JSON再通过MQTT发往平台.这个适合需要开发一些工具来协助开发.平台固然重要,但是对应的工具链也是比较重要的. 1. 创建虚拟串口 要做一个串口工具,为了方便调试,我们需要安装一个虚拟串口软件.模拟两个串口,然后用标准的串口工具来发送数据,自己开发的工具用来接收数据. h…
一.前言 这里虽然是说MQTT客户端.其实对于服务器来说,这里的一个具有超级权限的MQTT客户端,就可以做很多事情.比如手机APP或者网页或者第三方服务需要发送数据到设备,但是这些又不是设备,又不能让他们连到MQTT.那么就可以通过HTTP请求业务服务器.然后由业务服务器利用这个MQTT客户端进行发送数据. 还有,之前好多人问我,怎么保存这些物联网数据,真的要像前面的博客那样,要自己写插件吗?特别麻烦的啊.这里给出的结论是不需要.保存数据,除了写EMQ插件,还可以在EMQ的规则引擎上进行配置We…
0. 前言 消息队列MQ,这个在一般的系统上都是会用到的一个中间件,我选择Kafka作为练手的一个中间件,Kafka依赖Zookeeper.Zookeeper安装上一篇博客已经介绍过了. 1. Kafka Image构建 Dockerfile FROM openjdk:8-jdk-alpine RUN apk add --no-cache bash && rm -rf /var/cache/apk/* && /bin/bash RUN wget http://mirrors…