
# Californium (Cf) - Cloud CoAP-S3-Proxy Server
## SCADA (supervisory control and data acquisition)
## - Reliable - Efficient - Encrypted -

Cloud CoAP-S3-Proxy Server for device communication with CoAP/DTLS 1.2 CID. Based on the [Eclipse/Californium CoAP/DTLS 1.2 CID java library](https://github.com/eclipse-californium/californium).
Fill the missing link between the device and cloud.
The server supports DTLS 1.2 CID with **P**re**S**hared**K**ey (similar to username/password) and **R**aw**P**ublic**Key** (a public key as certificate without additional information like subject or validity) authentication for device communication. X509 certificate based device authentication may be added to the cloud demo server in the future. Californium (Cf) itself does already support it.
The sent data is forwarded with the proxy function to a **S**imple**S**torage**S**ervice (**S3**) to persist it. Your backend may either fetch the data from that S3 or you may use a included simple Web-Browser javascript **S**ingle**P**age**A**pplication to display the data and to visualize that in simple charts.
Example message sent by device:
```
22-03:02:30 [d-hh:mm:ss], nRF9160 feather/scale v0.9.0+0, 0*1061, 1*0, 2*0, 3*1, failures 0
NCS: 2.5.1, HW: B1A, MFW: 1.3.5, IMEI: 350457799486418
!3836 mV 56% (104 days left)
Last code: 2024-01-30T19:59:07Z update
Restart: Power-On
ICCID: ?????280666074879390, eDRX cycle: off, HPPLMN 26201 interval: 2 [h]
IMSI: ?????5107487939
Network: CAT-M1,roaming,Band 20,PLMN 26201,TAC 26553,Cell 30157572,EARFCN 6400
PDN: ???.???,???.???.???.???
PSM: TAU 86400 [s], Act 0 [s], no RAI, Released: 10823 ms
!CE: down: 8, up: 1, RSRP: -93 dBm, CINR: 5 dB, SNR: 6 dB
Stat: tx 1032 kB, rx 72 kB, max 1003 B, avg 529 B
Cell updates 162, Network searchs 1 (1 s), PSM delays 0 (0 s)
Modem Restarts 0, Sockets 1, DTLS handshakes 1
Wakeups 1062, 428 s, connected 12371 s, asleep 72 s
Last calibration: A 2024-02-28T20:10:11Z, B 2024-02-28T20:19:55Z
!CHA 37.20 kg, 31.1°C, CHB 34.55 kg, 31.9°C
!26 C
```
**Note:** the previous implementation uses the lines starting with an `!` for a accumulated data file named "series-date-time". That has changed and the current version accumulates the complete data into a "arch-date" file obsoleting the leading `!`. Use "`https://<hostname>/v2`" to use the web UI with the archive files.
Web-Browser application login page:

Web-Browser application device list page:

Web-Browser application chart page:

Web-Browser application device status page (data from device):

Web-Browser application device configuration page (data to device):

Web-Browser application server diagnose page:

Some more details about the web-UI can be found in [web-UI documentation](./docs/web-ui.md).
## Performance and Resources
[<img src="./docs/quadrant.svg" width="65%" />](./docs/quadrant.svg)
- The footprint of the OS and Java VM, around 800 MB RAM, requires to use at least 2 GB RAM.
- The maximum number of devices depends mainly on the available RAM. Per PSK around 3K per device, for certificate based devices 5K per device.
- The maximum number of requests per second also depends on the available RAM and CPU for processing. Usually the backend slows down the processing a lot. Without backend, a 4x3GHz System with 16 GB RAM runs 50000 requests/s. With backends, that’s usually much less.
- If S3 is used as backend, usually the write preformance of S3 limits then the number of requests/s. 300 requests/s up to 3000 requests/s could be found.
- The Javascript Web App is considered only for first steps, Therefore it may handle 100-200 device, it’s not expected to be used with more.
## General Usage
Cloud CoAP-S3-Proxy Server is available at the eclipse repository and can be downloaded [cf-s3-proxy-server-3.13.0.jar](https://repo.eclipse.org/content/repositories/californium-releases/org/eclipse/californium/cf-s3-proxy-server/3.13.0/cf-s3-proxy-server-3.13.0.jar).
Start the cf-s3-proxy-server with:
```
java -jar cf-s3-proxy-server-4.0.0-SNAPSHOT.jar -h
Usage: S3ProxyServer [-h] [--diagnose] [--[no-]coap] [--wildcard-interface |
[[--[no-]loopback] [--[no-]external] [--[no-]ipv4] [--[no-]
ipv6] [--interfaces-pattern=<interfacePatterns>[,
<interfacePatterns>...]]...]]
[--coaps-credentials=<credentials>
[--coaps-password64=<password64>]] [--device-file=<file>
[--device-file-password64=<password64>]]
[--store-file=<file> --store-max-age=<maxAge>
[--store-password64=<password64>]] [--provisioning
[--replace]] ([--domain-file=<file>
[--domain-file-password64=<password64>]] |
[[[--s3-endpoint=<endpoint>] [--s3-region=<region>]
[--s3-bucket=<bucket>] [--s3-acl=<acl>]
[--s3-concurrency=<concurrency>]
[--s3-external-endpoint=<externalEndpoint>]
[--s3-redirect] (--s3-config=<s3ConfigFile> |
[--s3-access-key=<accessKey> --s3-secret=<secret>])]
[--user-file=<file> [--user-file-password64=<password64>]]
[--config-file=<file>
[--config-file-password64=<password64>]]
[--http-forward=<httpForward>
[--http-authentication=<httpAuthentication>]
[--http-device-identity-mode=<httpDeviceIdentityMode>]]])
[[--https-port=<port>] --https-credentials=<credentials>
[--https-password64=<password64>]
[--spa-script=<singlePageApplicationScript>]
[--spa-css=<singlePageApplicationCss>] [--spa-reload]
[--spa-s3]
[--spa-script-v2=<singlePageApplicationScriptV2>]]
--coaps-credentials=<credentials>
Folder containing coaps credentials in 'privkey.
pem' and 'pubkey.pem'
--coaps-password64=<password64>
Password for device store. Base 64 encoded.
--config-file=<file> Filename of configs-store.
--config-file-password64=<password64>
Password for configs-store. Base 64 encoded.
--device-file=<file> Filename of device store for coap.
--device-file-password64=<password64>
Password for device store. Base 64 encoded.
--diagnose enable 'diagnose'-resource.
--domain-file=<file> Filename of domain-store.
--domain-file-password64=<password64>
Password for domain-store. Base 64 encoded.
-h, --help display a help message
--http-authentication=<httpAuthentication>
Http authentication for forward device data
(coap-requests). Supports 'Bearer
<access-token>', 'PreBasic <username:password'
and '<username:password>'
--http-device-identity-mode=<httpDeviceIdentityMode>
Http device identity mode for forwarding device
data (coap-requests) . Supported values: NONE,
HEADLINE and QUERY_PARAMETER. Default: NONE
--http-forward=<httpForward>
Http destination to forward device data
(coap-requests).
--https-credentials=<credentials>
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
锎 (Cf) - Java 版 CoAPEclipse Californium 是RFC7252(用于物联网云服务的受限应用协议)的 Java 实现。因此,重点是可扩展性和可用性,而不是像嵌入式设备那样的资源效率。然而,Californium 也适用于嵌入式 JVM。更多信息请访问 http://eclipse.dev/californium/ 和http://coap.technology/。想帮助改进 Californium 吗?那么请考虑做出贡献。使用 Maven 构建您需要安装一个可用的 maven 来构建 Californium。然后只需从项目的根目录运行以下命令$ mvn clean install可以在该文件夹中找到带有所有依赖项的示例的可执行 JAR demo-apps/run。分支中的构建过程main针对 jdk 7、jdk 8、jdk 11 和 jdk 17 进行了测试。对于 jdk 7,revapi maven-plugin 被禁用,它至少需要 java 8。注意该构建版本很久以前就已测试过。在此期间,发生了太多变化。请专注于使
资源推荐
资源详情
资源评论



























收起资源包目录





































































































共 1362 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14
资源评论


徐浪老师
- 粉丝: 9439
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 西门子PLC与触摸屏在变频恒压供水系统中的设计与仿真研究
- 永磁同步电机PMSM位置三闭环控制仿真模型的设计与研究
- 马尔可夫转移场技术在一维时序信号至二维图像转换中的应用及其实现方法
- 基于MATLAB的高级蓝色车牌识别系统:集成计算机视觉与图像处理技术实现精准识别与语音播报 车牌识别
- 基于S7-200 PLC与组态王的工业锅炉温度闭环控制系统设计与实现
- 基于A与DWA融合的MATLAB路径规划算法:提高机器人避障能力 MATLAB 专业版
- 西门子S7-1200PLC与TP700触摸屏联机仿真程序:混凝土搅拌控制之博途V16及运行效果视频(带IO表)
- 独立变桨控制与统一变桨控制的OpenFast与Simlink联合仿真模型
- 永磁同步电机(PMSM)匝间短路故障的Simulink仿真分析及应用
- 密歇根大学燃料电池仿真:Simulink建模及关键组件控制策略
- 电力系统优化:基于改进粒子群算法的微电网多目标调度模型研究
- 自动驾驶路径规划与动态避障系统的实现及实验验证 · 自动驾驶 v2.5
- DEGWO-BP算法:基于差分改进灰狼优化的BP神经网络数据回归预测Matlab程序 - MATLAB
- 基于MATLAB与CarSimPreScan联合仿真的自动驾驶路径规划与动态避障模型研究 · 自动驾驶 终极版
- 恒压供水系统:西门子Smart200+海为B-7s触摸屏控制,一拖一与一拖多模式,手机远程控制程序 经典版
- 低照度图像增强技术:七大算法解析及其Python代码实现
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
