• MATLAB和物联网连载1:Internet of Things离你有多远?5行MATLAB的距离


    MATLAB和物联网连载1:Internet of Things离你有多远?5行MATLAB的距离

    原文:MATLAB和物联网连载1:Internet of Things离你有多远?5行MATLAB的距离 - 知乎 (zhihu.com)

    来自俄罗斯的实习生在工作之余喜欢上网看点有的没的。有一天他突然发现了一个神奇的网站叫

    ThingSpeak.com

    这个网站的神奇之处就是可以在上面用自己的MATLAB代码读取任意网页,或是联网的设备的数据。

    于是他把自己的一个IP Camera对准了窗外的道路,通过Computer Vision Toolbox,他得到了窗外车流量的实时数据。[1]

    图中很清楚的显示了早6-7点和晚7点左右的上下班高峰。

    实习生为了知乎MATLAB专栏的蓬勃发展,也为我们搭建了一个属于自己的thingSpeak Channel,追踪该专栏的关注人数。

    首先他需要找到可以获取到知乎专栏关注人数的接口,最简单的方法就是尝试如下命令

    1. >>url = 'http://zhuanlan.zhihu.com/matlab'
    2. >>data = webread(url);

    然后再从获取的data中做regexp。

    但是作为一个合格的实习生,他觉得这方法太麻烦了,知乎这么高大上的网站难道没有更简单的数据接口吗?几经周转他发现了这个

    1. >>url = 'http://zhuanlan.zhihu.com/api/columns/matlab'
    2. >>data = webread(url)
    3. data =
    4. followersCount: 22
    5. creator: [1x1 struct]
    6. topics: [1x1 struct]
    7. activateState: 'activated'
    8. href: '/api/columns/matlab'
    9. acceptSubmission: 1
    10. firstTime: 0
    11. postTopics: [3x1 struct]
    12. pendingName: ''
    13. avatar: [1x1 struct]
    14. canManage: 0
    15. description: '你真的了解MATLAB/Simulink吗? 来看看吧'
    16. pendingTopics: []
    17. nameCanEditUntil: 0
    18. reason: ''
    19. banUntil: 0
    20. slug: 'matlab'
    21. name: 'MATLAB'
    22. url: '/matlab'
    23. intro: 'Do you speak MATLAB?'
    24. topicsCanEditUntil: 0
    25. activateAuthorRequested: 'none'
    26. commentPermission: 'anyone'
    27. following: 0
    28. postsCount: 3
    29. canPost: 0

    于是他很快的在thinkSpeak上建立了一个Channel, 设置如下:

    接下来,他需要一个MATLAB Analysis来获取数据,点击网页上方的App,创建新的MATLAB Analysis.

    然后加入MATLAB Code,注意右边的Read API Key和Write API Key,写入数据时用WriteAPIKey。可以看右边的Documentation.

    代码如下

    1. url = 'http://zhuanlan.zhihu.com/api/columns/matlab';
    2. options = weboptions;
    3. options.Timeout = 20; %Default value is 5 sec, too short
    4. data = webread(url,options);
    5. thingSpeakWrite(104694,... %Your Channel ID
    6. 'Fields',[1,2],... %We checked 2 fields
    7. 'Values',...
    8. {data.followersCount,data.postsCount},...
    9. 'WriteKey','yourKey') %Put your own write key

    试试Save and Run

    成功!哇,2小时内关注人从11人涨到了19人!这个每隔一小时获取一下知乎专栏关注人数的小程序就上线了[2]。什么服务器什么webcrawler, 通通不用。

    俄罗斯实习生满意的睡去了……

    [1]: MakerZone

    [2]: zhihumatlab - ThingSpeak

    -开发于MATLAB R2016a

  • 相关阅读:
    64位Office API声明语句第110讲
    【计算机基础知识】字符的编码表示
    创建数组array--numpy
    GlusterFS基本概念
    NAT地址转换
    计算机二级备考:Word 部分_1文件操作
    (18)不重启服务动态停止、启动RabbitMQ消费者
    Python在生物信息学中的应用:序列化Python对象
    计算机毕业设计ssm软件项目Bug管理系统612ed系统+程序+源码+lw+远程部署
    常见知识点总结
  • 原文地址:https://blog.csdn.net/m0_69824302/article/details/139383475