如何将传感器值发送到 Android 应用程序?

How to send sensor values to Android app?

我正在我的树莓派中通过 SPI 读取一些传感器值,并保存它们。 我使用的保存方法是:

string IntToString (int number)
{
    ostringstream oss;
    oss << number;
    return oss.str();
}

int main(void)
{
    ad7490Spi a2d("/dev/spidev0.0", SPI_MODE_0, 1000000, 16);
    int i = 5;
    int a2dVal = 0; 
    int a2dChannel = 0;
    unsigned char data[3];

    //ofstream myfile ("/var/www/html/Sensors/Sensor1.txt");

    //if (myfile.is_open())
    //{ ...


    ...
    //myfile.close();

现在我想将它们发送到我创建的 android 应用程序。我希望该应用程序通过图表引擎获取这些值并绘制它们。 问题是我完全不知道我应该使用什么方法来做到这一点。 各位大大可以给点提示吗?

这取决于您的设置:

  • 如果您的 android 应用程序将 仅从同一本地网络连接到树莓派 :"easy" 方法是设置在你的 rasp 上安装一个服务器,然后让 android 应用程序连接到它以检索数据。它可以像构建自己的服务器一样复杂(使用像 Flask 这样的工具),也可以像设置 FTP 服务器一样简单,您可以在其中存储文件和数据。

  • 如果你想从任何地方访问你的 rasp 的数据: 那么在云中设置一个服务器更容易上传数据,然后 android 应用下载它。如果你想要一些可用的东西,你至少需要注意路由器端口遍历。

请记住,第二种选择对第一种情况也很有用,因此它可能是可行的方法。在那种情况下,我不建议您设置自己的基础架构,而是使用已经制作好的东西。

在这个方向上,一个有趣的解决方案是 Lhings, a cloud for internet of things that offers client libraries in C and Java so that you can easily connect your device to it, and also a REST API 您可以用来从 Android 应用访问数据。它非常易于使用、可靠且最多可免费使用 3 台设备,因此它可能符合您的要求。

希望对您有所帮助。