本文最后更新于:June 30, 2023 pm
本文作者:[wangwenhai] # 概要:不小心翻出来大学的时候写的代码。
不小心在码云上翻出来大学的时候写的代码,感慨万千,那时候 2017 年才大二(2017年初)下学期(写文章的时间是2022年3月14日),想搞个物联网平台,所以写了个demo,这个demo可能是国内第一个公开的物联网平台。这些东西奠定了我今天的职业生涯以及研究方向。看着那个时候写的项目简介,和我当年的初衷,满满的回忆:
本人是电子信息工程理工科男一枚,标准技术宅。本应该去研究CPU架构和汇编语言的我,却迷上了WEB互联网开发。加上平时喜欢折腾一些极客玩具,渐渐的对硬件也来了兴趣。平日里酷爱折腾一些极客玩具的我,再加上本人身处硬件相关专业,平时接触到了很多不一样的问题。问题总是围绕在身边。比如,某同学在做STM32单片机的时候抱怨:“我要是把拿到的数据用软件存储起来就好了,到时候直接拿出来观察结果数据。”再者还有:“要是能把单片机的数据传输到网络里面就好了,可以随便查看。”这些都是来自硬件工程师的抱怨和难处:硬件不负责数据的可视化呈现,他们更喜欢用各种仪器去查看。我想:能否解决这个问题?让这些硬件工程师随时可以查看数据,用手机,用浏览器,APP,都可以观测结果,即打造一个“通用的平台,用来让硬件把数据传递到互联网。于是自己着手试了一下,在很长的时间里,尝试了很多方法,也解决了一部分问题,但是总是不完美,期间用了Python在树莓派上实现一个数据呈现平台,但是不理想,折腾许久,最终决定用Java来实现这个平台。这就是这个项目的来源,含义就是:让一切联网变得更加容易!
界面
当年这个项目是用Springboot框架做的,前端貌似是java的模板引擎,甚至为此还学了Activemq二次开发, 下面是那个时候写的个插件:
package com.wwh.iot.easylinker.activemqplugin;
import org.apache.activemq.broker.Broker;
import org.apache.activemq.broker.BrokerFilter;
import org.apache.activemq.broker.ProducerBrokerExchange;
import org.apache.activemq.command.ActiveMQTextMessage;
import org.apache.activemq.command.Message;
/**
* Created by wwhai on 2017/9/1.
*/
public class AuthBroker extends BrokerFilter {
public AuthBroker(Broker next) {
super(next);
}
@Override
public void send(ProducerBrokerExchange producerExchange, Message messageSend) throws Exception {
ActiveMQTextMessage receivedMessage = (ActiveMQTextMessage) messageSend;
String dest=receivedMessage.getDestination().toString();
if (dest.equals("topic://DISCONNECTED")) {
removeConnection(getAdminConnectionContext(), receivedMessage.getConnection().getConnectionInfo(), new Exception("error"));
System.out.println("remove connection :"+receivedMessage.getProducerId());
}
}
}
时光过得很快,我直到今天都没有把自己想要的物联网平台做出来,但是那个时候它却是我梦想的起点,支撑我坚持到了今天。
但愿我们不忘初心,还能找回当初写的代码,共同纪念我们这代人那逝去的青春!!!
参考
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!