首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用C#和Netduino记录数据

使用C#和Netduino记录数据
EN

Stack Overflow用户
提问于 2015-02-27 20:32:46
回答 1查看 445关注 0票数 1

我正在为一个纳米打印项目开发一个遥测平台。我的团队使用的是Netduino 2 plus (不是我的首选,但您打算怎么做?)可以肯定的是,我对C#一点也不熟悉,而且我是一个新手。

我们编写了一些代码,成功地轮询了I2C温度传感器,并使用debug.print写入控制台。我想把这些数据写到一个文件中。

有一些例子可以将文件从SD卡传输到PC,但对我来说这似乎没有必要(尽管为了不溢出缓冲区,这可能是完全必要的?)。有没有一个简单地将数据写入文件而不是写入控制台的调用?

据我所知,我们可能需要一个应用程序来监听PC上的串行端口。似乎我们还需要一个相应的应用程序来从硬件编写。我过去使用过微控制器,它只需打开一个串口,然后通过USB发送到一个文件位置。

下面是我们用来将数据打印到控制台的代码:

代码语言:javascript
复制
using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.Netduino;
using System.IO.Ports;

namespace NetduinoApplication1
{
    public class Program
    {
        public static void Main()
        {
            OutputPort led = new OutputPort(Pins.ONBOARD_LED, false);
            OutputPort p = new OutputPort(Pins.GPIO_PIN_SDA, true); 
            p.Write(false); 
            p.Dispose();
            // write your code here
            byte[] Addr = new byte[1];
            Addr[0] = 0x07;
            byte[] TxBuff = new byte[9];
            byte[] RxBuff = new byte[9];
            I2CDevice.Configuration I2C_Configuration = new I2CDevice.Configuration(0x5A, 100);
            I2CDevice I2C1 = new I2CDevice(I2C_Configuration);
            I2CDevice.I2CTransaction[] WriteTran = new I2CDevice.I2CTransaction[] { I2CDevice.CreateWriteTransaction(Addr), I2CDevice.CreateWriteTransaction(TxBuff) };
            I2CDevice.I2CTransaction[] ReadTran = new I2CDevice.I2CTransaction[] { I2CDevice.CreateWriteTransaction(Addr), I2CDevice.CreateReadTransaction(RxBuff) };
            while (true)
            { 
                int iWriteCount = I2C1.Execute(WriteTran, 1000);
                //Debug.Print("Write Count: " + iWriteCount.ToString());
                led.Write(true);
                Thread.Sleep(200);
                int iReadCount = I2C1.Execute(ReadTran, 1000);
                if (iReadCount >= 2)
                {
                    int iVal = RxBuff[1] * 256 + RxBuff[0];
                    double Temperature = ((iVal * 0.02) - 273.15) * 9.0 / 5.0 + 32.0;
                    Debug.Print("Temperature: " + Temperature.ToString() + " deg F");
                }
                led.Write(false);
                Thread.Sleep(200);
            }

        }

    }
}

如果我需要创建一个应用程序,我很愿意去做,但我真的需要一些指导。在这里有一点经验会有很大的帮助。

EN

回答 1

Stack Overflow用户

发布于 2015-04-02 03:59:21

所以,有几件事浮现在脑海中。

  1. 如果您的Netduino具有网络连接,您可以将数据写入SD卡上的文件,然后通过FTP将文件传输出去。有很多库可以做到这一点。
  2. 与1相同,除了将数据推送到web服务。有一个HTTPRequest库可以用来向web服务发送一个快速的JSON post。您需要编写web服务。但也有很多免费的服务可以接收数据馈送并像ubidots一样存储它们。如果你真的想走串口的路线,坏消息是的
    1. 串口是为调试保留的。但是你可以得到一个便宜的小型USB UART适配器来做这件事。有一篇很棒的博客文章解释了it.

here

祝好运!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28765228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档