AVR 微控制器温度传感器通过 LAN 通信
AVR Microcontroller temp sensor communication over LAN
你好,比我熟练得多的人 ;-),
我对我的兄弟学校项目有疑问,我想帮助他。
他有一块带 LAN
端口的微控制器板,想在上面附加一个温度 Reader。
有没有人对如何传达这些数据有任何建议?例如,给一个可以显示温度图或仅显示当前时刻温度的 Android
应用程序?
如果不是 Android,他想通过桌面上的 Java 应用程序显示温度图和平均温度。
我试图 Google 它但我没有找到任何描述这种情况的东西。也许我不知道如何制定它。
我知道描述它非常模糊,但也许一些好人可以给我发送代码示例,因为我是一个完全的初学者。
这是 AVR
开发板(它有一个 LAN 端口)
http://www.pollin.de/shop/dt/MTQ5OTgxOTk-/Bausaetze_Module/Bausaetze/Bausatz_AVR_NET_IO.html
谢谢:)
谢谢,祝你有愉快的一天:)
据我所知,该板具有一个 ATmega32
控制器和一个 ENC28J60
以太网 控制器(带有 SPI
!) .
似乎他们提供了某种与开发板通信的 server
应用程序(通过 Ethernet/LAN)。该应用程序并不简单,因为我看到它还具有固件更新功能(因此 AVR
芯片在其闪存中也有一个 bootloader)。
无论如何,一个有趣的方法是将你的 temperature sensor
连接到一个 analog input
,然后启动开发板和 net-server
应用程序(连接到 LAN) .您会看到一些 ADCx
(以伏特为单位)的相关测量值。
之后,使用 Wire-Shark
或类似工具,您可以监视开发板与 server
之间的通信消息(知道他们的 IP,以过滤掉所有其他垃圾潜伏在 LAN).
下一步将是找出 server
发送请求 ADCx
的具体消息,以及董事会的相关答复。不简单,但我猜是可行的:)
最后,知道交换了哪些消息(我在这里假设您没有协议或源代码的规范),您应该 replicate/implement 在您的 Windows
/Android
应用程序中使用类似的东西(要显示的从 voltage
到 °C temperature
的进一步转换是您的应用程序要做的另一件事 - 我想是最简单的部分 :)。
根据您提供的数据,我认为这是我能提出的最佳建议。
祝您项目顺利!
顺便说一句:可以找到 AVR
帮助(以及源代码示例、编译器和相关内容)的最佳位置是:www.avrfreaks.net
你看到开发板附带的软件和固件了吗(下载...)?
它几乎拥有您需要的一切,即 TCP/IP 堆栈、用于访问数字和模拟的简单 command/response 服务器 IOs &c.
参见文档:https://www.pollin.de/shop/downloads/D810058B.PDF,尤其是。 "Protokollaufbau und Kommandos AVR-NET-IO",例如"GETADC 3 (ruft den akt. Wert des ADC-Eingangs 3 ab)"
因此,您应该能够使用库存固件并通过 TCP 上的简单命令从您的 app/whatever 与其通信。您可以查询板的输入状态,并在显示结果之前在应用程序中对其进行任何计算。
(编辑:你没有说明他想用什么样的传感器。如果传感器的输出不是模拟电压而是某种数字协议,那么库存固件实际上不会让你远。)
电路板固件是用 C 语言编写的(我相信是封闭源代码),但正如我所说,您可能不必为此烦恼。但是,如果您愿意,可以从“网络”中以开源形式获得替代固件版本;如果您想要更好的体验,您也可以创建自己的体验,可能是基于可用的 TCP/IP 堆栈和 ENC28J60 库(也很容易获得)。您还可以在 &c, &c 之上添加一个简单的 HTTP 服务器。
一些链接在我用谷歌搜索 "avr net io firmware" 时立即出现:
http://www.fhemwiki.de/wiki/AVR-NET-IO
http://engelhuber.de/blog/2013/10/29/pollin-avr-net-io-mit-e2000-firmware-ueber-php-ansteuern/
你好,比我熟练得多的人 ;-),
我对我的兄弟学校项目有疑问,我想帮助他。
他有一块带 LAN
端口的微控制器板,想在上面附加一个温度 Reader。
有没有人对如何传达这些数据有任何建议?例如,给一个可以显示温度图或仅显示当前时刻温度的 Android
应用程序?
如果不是 Android,他想通过桌面上的 Java 应用程序显示温度图和平均温度。
我试图 Google 它但我没有找到任何描述这种情况的东西。也许我不知道如何制定它。
我知道描述它非常模糊,但也许一些好人可以给我发送代码示例,因为我是一个完全的初学者。
这是 AVR
开发板(它有一个 LAN 端口)
http://www.pollin.de/shop/dt/MTQ5OTgxOTk-/Bausaetze_Module/Bausaetze/Bausatz_AVR_NET_IO.html
谢谢:)
谢谢,祝你有愉快的一天:)
据我所知,该板具有一个 ATmega32
控制器和一个 ENC28J60
以太网 控制器(带有 SPI
!) .
似乎他们提供了某种与开发板通信的 server
应用程序(通过 Ethernet/LAN)。该应用程序并不简单,因为我看到它还具有固件更新功能(因此 AVR
芯片在其闪存中也有一个 bootloader)。
无论如何,一个有趣的方法是将你的 temperature sensor
连接到一个 analog input
,然后启动开发板和 net-server
应用程序(连接到 LAN) .您会看到一些 ADCx
(以伏特为单位)的相关测量值。
之后,使用 Wire-Shark
或类似工具,您可以监视开发板与 server
之间的通信消息(知道他们的 IP,以过滤掉所有其他垃圾潜伏在 LAN).
下一步将是找出 server
发送请求 ADCx
的具体消息,以及董事会的相关答复。不简单,但我猜是可行的:)
最后,知道交换了哪些消息(我在这里假设您没有协议或源代码的规范),您应该 replicate/implement 在您的 Windows
/Android
应用程序中使用类似的东西(要显示的从 voltage
到 °C temperature
的进一步转换是您的应用程序要做的另一件事 - 我想是最简单的部分 :)。
根据您提供的数据,我认为这是我能提出的最佳建议。
祝您项目顺利!
顺便说一句:可以找到 AVR
帮助(以及源代码示例、编译器和相关内容)的最佳位置是:www.avrfreaks.net
你看到开发板附带的软件和固件了吗(下载...)?
它几乎拥有您需要的一切,即 TCP/IP 堆栈、用于访问数字和模拟的简单 command/response 服务器 IOs &c.
参见文档:https://www.pollin.de/shop/downloads/D810058B.PDF,尤其是。 "Protokollaufbau und Kommandos AVR-NET-IO",例如"GETADC 3 (ruft den akt. Wert des ADC-Eingangs 3 ab)"
因此,您应该能够使用库存固件并通过 TCP 上的简单命令从您的 app/whatever 与其通信。您可以查询板的输入状态,并在显示结果之前在应用程序中对其进行任何计算。 (编辑:你没有说明他想用什么样的传感器。如果传感器的输出不是模拟电压而是某种数字协议,那么库存固件实际上不会让你远。)
电路板固件是用 C 语言编写的(我相信是封闭源代码),但正如我所说,您可能不必为此烦恼。但是,如果您愿意,可以从“网络”中以开源形式获得替代固件版本;如果您想要更好的体验,您也可以创建自己的体验,可能是基于可用的 TCP/IP 堆栈和 ENC28J60 库(也很容易获得)。您还可以在 &c, &c 之上添加一个简单的 HTTP 服务器。
一些链接在我用谷歌搜索 "avr net io firmware" 时立即出现:
http://www.fhemwiki.de/wiki/AVR-NET-IO
http://engelhuber.de/blog/2013/10/29/pollin-avr-net-io-mit-e2000-firmware-ueber-php-ansteuern/