IoT: FIWARE+Docker 城市天气信息收集与可视化( 一)

FIWARE技术:致力于为智能城市、智能港口、智能物流、智能工厂等不同领域开发智能应用程序的统一标准 |介绍篇 为欧洲乃至全世界的数字孪生和物联网提供了开源精品标准和framework 阅读详情

前言

最近因为实习的原因一直在研究FIWARE,虽然只是做了一点微小的工作,但也足够让我褪层皮。

FIWARE来源于欧盟推出的”FIWARE加速器计划”,整个项目的内容很庞大,国内虽然也曾有过相应的报道,还是个商务部发布的红头消息,但是并没有引起相应也没有引起关注。直接导致我在研究这玩意儿的时候只能去看它的官方文档,中间还踩了好多坑(官方挖坑,最为致命),这段不提也罢。

我所应用的FIWARE部分的基本功能是用来收集、传送、储存、处理信息。这些信息可以来自互联网,也可以来自实地传感器,或者作为发送到动作器的命令。这也是为什么题目里有个IoT(Internet of Things), 物联网的原因。这些已经收集、储存的信息可以通过其特有的NGSI协议来查看,也可以通过FreeBoard将其可视化。

在此我将利用FIWARE平台,实现一个储存并集中展示城市天气信息的小应用。能够实现类似功能的工具有很多,但这一个“舶来品”在国内的网络上却并没有能用的资料,希望这篇文章能够作为他山之石。

这一系列工作比较多,篇幅会比较长,所以会分成好几篇(预计3篇)。本篇将讲述如何用Docker容器部署FIWARE组件,以及获取城市的天气、空气质量信息。

最终结果展示:

最终结果

准备工作

编程语言:python3.6 : 没有原因,只是我习惯了
系统:Ubuntu : 不要是老古董的version就行
Docker : 在本地安装FIWARE全家桶是一件比较麻烦的事,所幸在DockerHub上有现成的镜像,pull下来后稍作配置即可使用。所以需要事先安装一个Docker Engine。Docker的使用方法在此不做说明,网上资料一大堆。
FreeBoard:可视化数据

利用Docker 完成所需的FIWARE组件部署

实现本文的既定目标需要4个模块:Mosquitto, MongoDB, IoTAgent, Orion

mosquitto

在FIWARE中传输信息可以用HTTP的方式,也可以用MQTT的方式,我采用的是后者。维基百科对MQTT的解释:

MQTT[1] (MQ Telemetry Transport or Message Queue Telemetry Transport) is an ISO standard (ISO/IEC PRF 20922)[2] publish-subscribe-based “lightweight” messaging protocol for use on top of the TCP/IP protocol. It is designed for connections with remote locations where a “small code footprint” is required or the network bandwidth is limited. The publish-subscribe messaging pattern requires a message broker. The broker is responsible for distributing messages to interested clients based on the topic of a message. Andy Stanford-Clark and Arlen Nipper of Cirrus Link authored the first version of the protocol in 1999.[3]

简而言之,MQTT就是一个轻量级的基于“订阅-推送”结构的传输协议,其特点便是lightweight。在此处应用它的原因便是其轻便的特性,数据传输的压力会比HTTP要小。

MQTT只是一套协议,要实际在计算机上使用这套协议传输信息需要安装对应的工具。最为常见的就是mosquitto:

Eclipse Mosquitto™ is an open source (EPL/EDL licensed) message broker that implements the MQTT protocol versions 3.1 and 3.1.1. MQTT provides a lightweight method of carrying out messaging using a publish/subscribe model. This makes it suitable for “Internet of Things” messaging such as with low power sensors or mobile devices such as phones, embedded computers or microcontrollers like the Arduino.

基本上mosquitto官网的解释和MQTT的解释没差多少、
然而本文并不在原理上进行阐述(其实也讲不出来,怕被喷),着重在于使用的方法论上。

直接上命令:

下载Docker镜像

sudo docker pull toke/mosquitto

然后去GitHub这个镜像的项目上下载config/mosquitto.conf文件,之后有用。

mkdir 
FIWARE:开源的物联网平台,支持设备虚拟化和数据管理 FIWARE 提供了一系列通用的 API 和组件,支持设备管理、数据采集、数据处理、数据共享和安全通信等功能,使得开发者能够快速构建和扩展物联网解决方案。在智能家居场景中,FIWARE 可以用于连接和管理智能设备,如智能灯光、智能门锁、智能温控器等,支持远程配置、固件更新和状态监控。在工业物联网场景中,FIWARE 可以用于连接和管理工业设备,如传感器、控制器、机器人等,支持数据采集、远程监控和固件更新。通过模块化设计,开发者可以轻松扩展 FIWARE 的功能,支持新的设备和协议。 阅读详情

相关推荐

44、FIWARE:助力数据空间发展,推动欧洲数据战略前行

本文探讨了 FIWARE 在推动欧洲数据空间发展中的关键作用,重点介绍了其在数据互操作性、数据主权与信任、以及数据价值创造方面的核心功能。通过标准化 API 和数据模型,FIWARE 为不同领域数据空间的连接提供了技术基础。同时,其身份管理、可信数据交换机制增强了数据共享的安全性与可信度。此外,FIWARE 的市场服务和数据发布平台推动了数据资产的商业化,助力实现欧洲数据战略目标,促进欧洲数据经济的可持续发展。

pluto的博客 120

自用的青龙容器脚本,天气预报、每天60s读懂世界、阿里云盘签到、

自用的青龙容器脚本,天气预报、每天60s读懂世界、阿里云盘签到、天翼云盘签到、重要日倒计时、科技玩家_QinglongScript

目录:FIWARE目录是一个开源平台组件的精选框架,可以将其组装在一起以加速智能解决方案的开发

这是一个总括式存储库,简要介绍了每个组件(也称为通用启动器),用户和开发人员可以轻松导航至相关的源代码存储库,文档和Docker映像。 有关什么是FIWARE及其使用方法的更多信息,请参见FIWARE指南, FIWARE学院和分步教程。 可以在Ask.FIWARE上询问有关FIWARE的一般问题,并可以使用FIWARE标签在Stack Overflow上提交基于开发人员的问题。 :books: :graduation_cap: :input_latin_uppercase: :red_question_mark: 内容 背景 是一个开源平台组件的框架,可以将其组装在一起,并与其他第三方平台组件一起组装,以加快智能解决方案的开发。 任何“由FIWARE提供支持”平台或解决方案的主要且唯一必需的组件是FIWARE上下文代理通用启动器,它在任何智能解决方案中都具有基础功能:管理上下文信息,执行更新和访问上下文的需求。 FIWARE NGSI是由FIWARE上下文代理导出的API,用于将平台组件集成

NGSI-LD:针对NGSI-LD开发人员的FIWARE生态系统的完整指南集

分步教程 这是为NGSI-LD开发人员设计的FIWARE生态系统的教程的集合。 每个教程均包含一系列练习,以演示各个FIWARE组件的正确使用,并通过连接到一系列虚拟IoT设备或直接或以编程方式操作上下文,来显示简单智能解决方案中的上下文数据流。 :books: 安装 要下载全套教程,只需克隆此存储库即可: git clone https://github.com/FIWARE/tutorials.NGSI-LD.git cd tutorials.NGSI-LD/ git submodule update --init --recursive 昂首阔步 OpenAPI规范(通常称为Swagger)是REST API的API描述格式。 Swaggger规范允许您描述整个API(例如NGSI-LD本身),但是在本教程中,我们将专注于使用Swagger定义数据模型。 API规范可以用

FIWARE-cloud-tuto:FIWARE 云服务使用教程

FIWARE-cloud-tuto FIWARE 云服务使用教程 在开始之前,必须说这个过程需要很大的耐心,因为(至少在编写此页面时)该网页存在许多技术问题并且无法正常工作。 在某些情况下,如果出现问题,帐户可能最终处于无法恢复的状态。 这是发生的事情的一个例子 如果您遇到这种情况,一种解决方法(这样您就不必等待)如下: 重新加载页面(例如按“F5”) 停止重新加载页面(例如,按“Esc”) 重新加载页面(再次“F5”) 您将在页面底部收到一条错误消息。 当页面被“挂起”时,你将不得不再次尝试做你正在做的事情(即使你丢失了配置,当网络停止响应时你已经丢失了它 - 所以至少你不会浪费你的时间) . 一旦我们访问了 ,我们就会看到这个页面 我们必须填写以下表格进行注册 当我们填写表格时,将向表格中指定的电子邮件地址发送一封电子邮件。 确认我们的帐户后(通过单击电子邮件中的链接)

fiware-pi:Raspberry Pi上的FIWARE GE

该项目的目的是在Raspberry Pi上运行FIWARE GE。 でもご覧のドキュメントはでもご覧いただけます。 内容 细节 Keyrock 威尔玛 天鹅座 STH-Comet 物联网代理UL 物联网代理JSON 预构建的FIWARE GEs Docker映像 第三方Docker映像 MySQL 弹性搜索 什么是Raspberry Pi上的FIWARE GE “我可以向您展示世界。” —全新世界(阿拉丁) Raspberry Pi上的FIWARE GE是一个实验性和非正式的项目,用于在ARM体系结构上运行FIWARE GE。 Raspberry Pi是一种低成本的信用卡大小的计算机。 它是基于ARM的设备,需要为ARM体系结构编译的二进制文件。 在此项目中,要为64位ARM体系结构(aarch64)构建GE的docker映像,在Raspberry Pi上安装了64位L

二阶高通滤波器硬件设计:5种RC到有源方案对比与选型

在传感器前端和音频信号调理中,二阶高通滤波器是抑制直流偏移与低频干扰的关键模块。其设计核心围绕截止频率、品质因数Q、增益与噪声四个指标展开,其中Q值决定滤波器在转折频率附近的响应形状,如Butterworth最大平坦响应需Q=0.707。从纯无源RC电路到引入运放的有源拓扑,演变逻辑在于解决负载效应、提供增益并借助反馈提升Q值。实际工程中,RC级联、VCVS(Sallen-Key)、状态变量及回转器模拟电感等方案各有适用场景:RC电路简单但Q值受限,Sallen-Key单运放即可实现高Q,状态变量适合Q值独

weixin_32770423的博客 105

【AI深究】合成数据(Synthetic Data)深度解析:原理、算法与工程实践——全网最详细流程|核心原理、主流方法、数学表达、工程实践与细节、未来趋势|GAN、VAE、语言模型LLM合成如GPT

大家好,我是爱酱。本篇延续将会系统梳理合成数据(Synthetic Data)的核心原理、主流方法、数学表达、工程实践与未来趋势,结合数学公式,帮助你全面理解这一AI建模的关键技术。 注:本文章含大量数学算式、详细例子说明及大量代码演示,大量干货,建议先收藏再慢慢观看理解。新频道发展不易,你们的每个赞、收藏跟转发都是我继续分享的动力!

AI人工智能爱酱~你的AI学习好帮手~ 4944

Mac 不小心断开移动硬盘导致磁盘无法读取和加载(顺利解决!)

Mac移动硬盘不正确断开连接导致无法读取加载的解决方法,亲测有效

Robin_Pi的博客 1万+

Python实现高光谱图像生成与增强:从RGB到多光谱转换(附完整代码)

本文分享一个基于Python的实用工具,能够将普通RGB图像转换为模拟高光谱图像,并进一步生成增强的彩色可见图像。为了直观展示图像细节,程序通过对特定波段的组合,生成了一幅增强的 RGB 彩色图像。该函数的主要目标是将一张普通的 RGB 图像转换为包含多个波段的高光谱图像。通过该函数,我们能直观地看到高光谱图像经过波段组合后所得到的彩色图像效果。通过以上代码,我们可以实现对海量图像数据的自动化处理,极大地提升工作效率。已附在文中,欢迎下载测试!通过以上步骤,我们可以生成一幅包含多个光谱波段信息的图像。

m0_74824642的博客 3671

从 RAP OData 到可交付的 SAP Fiori 应用:部署与授权全链路实战笔记

摘要:本文探讨了RAP开发中常见的交付误区,指出开发者预览(FEAP)并非可部署应用,强调从服务发布到业务应用落地的完整链路。文章详细对比了不同部署路径(ABAP/BTP),解析权限管理关键点(SAP_BR_DEVELOPER的临时性),并提供了标准授权组合方案(IAM+业务目录+角色)。通过"发运跟踪"案例,展示了从开发验证到生产部署的全流程,特别提醒注意开发环境与生产环境的权限差异,避免"开发机正常、生产机403"的典型问题。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1402

3D点云-CVPR 2020-PF-Net: Point Fractal Network for 3D Point Cloud Completion

是一种专门为三维点云补全设计的深度学习模型。点云补全实际上和图片补全是一个逻辑,都是采用GAN模型的思想来进行补全,在图片补全中,将部分像素点删除并且标记,然后卷积特征提取预测、判别器判别,来训练模型,生成的像素点与原来像素点比较完成模型的训练。而PF-Net就是采用GAN的思想在3D点云上的应用。

404 Not Found 2375

YOLOv8改进 | 注意力篇 | 一文带你改进GAM、CBAM、CA、ECA等通道注意力机制和多头注意力机制

官方论文地址:官方论文地址点击此处即可跳转官方代码地址:官方代码地址点击此处即可跳转GAM旨在通过设计一种机制,减少信息损失并放大全局维度互动特征,从而解决传统注意力机制在通道和空间两个维度上保留信息不足的问题。GAM采用了顺序的通道-空间注意力机制,并对子模块进行了重新设计。具体来说,通道注意力子模块使用3D排列来跨三个维度保留信息,并通过一个两层的MLP增强跨维度的通道-空间依赖性。

Snu77的博客 4万+

KubeVela入门到精通-K8S多集群交付

KubeVela是一个功能强大、易于使用、高度可扩展的应用交付与管理平台。它基于Kubernetes和OAM 技术构建,通过开放应用模型(OAM)来作为顶层的抽像,提供了声明式部署、多集群/混合环境支 持、插件与扩展性、中心化管控以及易于使用与可观测性等特点。

小杨同学的博客 1271

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

上一篇: win10+anaconda3+tensorflow-gpu一些报错的解决方法
下一篇: 暴力补坑:win10+tensorflow+mnist+python3.6导入mnist数据错误:UnicodeEncodeError
Nexusis
博客等级 码龄10年 41粉丝 11原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值