问题标签 [intel-edison]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
339 浏览

c - 输出文件重定向(几乎)永远不会与我在 linux 中的 c 程序一起使用

如果我输入 myprogram > file 我最终会得到一个大小为 0 的文件,但有一次它工作时除外。相同的程序,在工作和不工作的时间之间没有变化。如果没有重定向,它会很好地打印到终端。几乎所有在线帮助都假定您需要重定向 std 错误,但这里并非如此。

该程序是多线程的,可以读取 USB 端口并将其写入蓝牙端口。没有键盘输入也没有退出,它只是运行。我用 ctrl-c 停止它。这是无头 linux 英特尔爱迪生上的嵌入式代码。

我假设我需要在代码中做一些事情以允许重定向。这可能是我应该知道的简单事情,但我不知道。我会很感激一些帮助。

0 投票
1 回答
3651 浏览

jquery - ENOENT,没有这样的文件或目录,但文件存在

我正在尝试在 Intel Edison 上使用 NodeJs 构建一些东西。我正在使用插件:https ://github.com/blueimp/jQuery-File-Upload和 NodeJS 服务器端部分。

但是,我不断得到

每当我尝试上传某些东西时。问题是该文件/home/root/db/node_modules/blueimp-file-upload-node/tmp/8fa2946958c04ad8cb6def7b1e9dab01确实存在,我我也拥有该文件夹中的权限。

我尝试了几件事,但我真的被困在这里,我无法理解如何解决这个问题。

0 投票
3 回答
4434 浏览

linux - 如何使用 Yocto Poky Linux 在启动脚本中初始化蓝牙

我有一个脚本可以在英特尔爱迪生上初始化我的蓝牙设置。它允许配对和连接到运行 Yocto Poky Linux 的无头机器。有人建议我将启动脚本放在 /etc/init.d 并运行 update-rc.d myscript.sh defaults。该脚本运行但它没有工作(生成的引导错误说蓝牙设备未找到),因为蓝牙尚未启动。我做了一些研究,删除链接后,我确实 update-rc.d myscript.sh defaults 99 声称最后运行脚本但它没有任何区别 - 它仍然在引导序列中运行在同一个位置. 我验证了链接上有 S99,所以看起来它们设置正确。SO上有另一个帖子问了一个类似的问题,但那是一个Ubuntu系统,我的是Poky Linux。该解决方案建议将启动脚本放在我的系统上不存在的目录中。还有其他建议,将它放在 rc.local 中,我这样做并得到了相同的结果,它在蓝牙初始化之前运行。

这是我的脚本。我的程序名为 nmea_thread,最后运行。其他一切都在初始化蓝牙。

0 投票
2 回答
8643 浏览

c++ - 在 C++ 中进行基本 128 位整数计算的有效方法?

几年前,我需要一种方法来使用 Cuda 进行一些基本的 128 位整数数学运算: cuda 上的 128 位整数?. 现在我遇到了同样的问题,但是这次我需要在不支持任何类型的 128 位的 32 位嵌入式系统(英特尔爱迪生)上运行一些基本的 128 位算术(求和、位移和乘法)。但是,直接支持 64 位整数(unsigned long long int)。

我天真地尝试使用上次在 CPU 上回答我的 asm 代码,但我得到了一堆错误。我真的没有使用 asm 的经验,所以:用 64 位整数实现 128 位的加法、乘法和位移的最有效方法是什么?

0 投票
2 回答
12120 浏览

linux - BlueZ 蓝牙库 (Windows)

Linux 的 libbluetooth2-dev 的 Windows 等效项是什么?我正在尝试在我的 Intel Edison 上运行 simple_scan.c 以进行支持 BlueZ 的蓝牙扫描,但我需要蓝牙库。这是 linux 的解决方案:bluetooth/bluetooth.h 在 Linux 中的位置在哪里?. 但是我在哪里可以在我的 Windows 设备上下载等效的库?

0 投票
1 回答
197 浏览

android - 当蓝牙连接在c中丢失时,蓝牙读取线程不会退出

我正在用 C 语言编写一个在 Intel Edison 上运行的“竞赛盒”。它可以通过基于蓝牙聊天的 Android 应用程序发送或接收蓝牙数据。一切正常。我可以发送和接收。我可能会失去连接并重新获取连接,然后连接又回来了,数据从 C 程序流向 Android 应用程序。一切都很好,除非我重新连接后无法再将数据从 C 发送到 Android。我已经将此追溯到 read 语句,并且我认为它永远不会返回值,因为它永远不会退出 while 循环。具体来说,这一行:

即使我知道 bluetooth_up == 0 也不会退出(另一个线程 fprints bluetooth_up 并且当蓝牙关闭时它为 0)。我的结论是 read 被阻塞了,所以我试图用这条线来解决这个问题

蓝牙连接在蓝牙写入线程中。但是就像我说的,除了当 bluetooth_up 为 0 时,这个 while 循环不会退出之外,一切都正常。

我能弄清楚的是读取被阻塞了,我无法弄清楚如何让它不阻塞,所以它会返回-1,while循环可以看到bluetooth_up == 0并退出。

这是bluetooth_up的全局定义

我会很感激这方面的帮助,因为它需要很强大,我不想要求人们重新启动竞赛盒以使蓝牙再次工作,尽管这确实有效。

我认为蓝牙连接代码非常标准,但在这里

0 投票
1 回答
3783 浏览

linux-device-driver - 什么可能导致以下错误无法初始化libusb:-99

我最近开始在 Intel Edison 开发板上工作,该开发板带有默认的 Yocto 迷你分线套件。我刷了开发板来安装一个名为Ubilinux的 Debian 派生系统。在此之后,董事会进行了升级和更新。然后我尝试连接一些 USB 设备以检查两个 USB 端口中的任何一个是否可以识别任何东西。董事会没有回应。

跑步

我了解上述消息是在未配置 USB 驱动程序时出现的。我尝试lsusb使用英特尔网站上的默认 Yocto 发行版运行,但消息仍然相同。通过阅读英特尔网站上的论坛,我了解到这不应该发生。还尝试查询论坛,但英特尔希望我通过一个链接验证我的电子邮件地址,我在 4 小时后仍未收到该链接。如果我做错了什么或没有正确理解董事会,请告诉我。

0 投票
0 回答
3025 浏览

windows - RNDIS 驱动程序设置缺少 win 7 64 位

嗨,我一直在尝试将几块板连接到我的电脑。这些板依赖 RNDIS 驱动程序进入 concole。因此,如果我第一次连接电路板,我的 Win7 笔记本电脑会正确地将其检测为 RNDIS 以太网适配器或设备。但是当我第二次插入电路板时,它只是在设备管理器的 USB 部分中作为未知设备出现。通过搜索网络,我认为 RNDIS 失败了。因此,我尝试使用http://www.sharpduino.com/en/articles/article/19建议手动安装驱动程序的位置手动安装驱动程序Network Adapters > Microsoft Corporation > RNDIS但这是驱动程序设置中整个 Microsoft 公司文件夹丢失的问题。我在网上没有得到任何帮助,说明为什么会这样。

这个问题不仅存在于一个板上,也存在于其他板上。目前使用的主板是 Intel Edison、Arietta G25。

0 投票
2 回答
3690 浏览

node.js - Intel Edison 和NodeJS 串口通信:我收到奇怪的字符

我有一个 FTDI 连接到我的 PC 并且 FTDI 连接到一个英特尔爱迪生 Arduino 分线板 0RX 和 1TX 引脚。

串行引脚连接:
Edison TX ------> FTDI RX
Edison RX ------> FTDI TX

要编辑英特尔 Edisons GPIO,我遵循了第一篇文章中的正确答案:
https ://communities.intel.com/message/265411#265411

要查看我执行的 GPIO 配置:
cat /sys/kernel/debug/gpio

然后回响:
通用输入输出接口

节点代码:

然后我执行:
node uart.js

即使我没有向 Intel Edison
Strange 字符发送字符,我也会收到奇怪的字符:
在此处输入图像描述

我不确定我的 nodejs 脚本是否导致任何问题,所以我执行了: cat /dev/ttyMFD1
即使我没有向英特尔爱迪生发送数据,它也会发出相同的奇怪字符。
猫命令

我不知道为什么当我不向英特尔爱迪生发送数据时会收到奇怪的字符,或者如何阻止这种情况的发生。我不确定我的 GPIO 配置是否正确,或者是噪音还是什么......?我需要做什么来修复/解决此问题?

为了进一步解决这个问题,我在 serialPort on 函数中添加了以下代码片段:

该代码产生:
[255,255,255,255]

更新
问题似乎与 setInterval 函数有关。我删除了设置的间隔,并为测试实现了一个 for 循环。该循环进行了 10 轮成功发送字符而没有接收到垃圾字符。

0 投票
2 回答
483 浏览

c - Is there a way to reset or clear ttyusb0 read short of power cycling the computer

I am reading NMEA data from the usb input of an Intel Edison. Everything is working fine except for one problem. If I disconnect the RS232 to USB cable from the other two cables that lead to the bulkhead connector, I get a flood of characters sent to the software. They seem to be a large repetition of the last character sent before the cable was disconnected. I assume this is from some kind of interference introduced on the 10 inches or so of open cable. I would like to write some code so that the software can recover but as it is, I need to power cycle the box. Killing and restarting the software does not work. I have tried to just read and dump all the characters coming in until I get a valid pair but this does not work. Here is what I have tried:

This thread is a forever loop reading the data. Other threads deal with it and they pass a volatile flag back and fourth. When this problem happens, the first thing I see is an overflow and I trap that in the code if(idx > 400). Without that I get a segmentation fault. The code below while (flag == 1) is looking for a which I would get if I got any valid data. If the input is an endless string of characters, I continue to get characters even after reconnecting the cable. Restarting the software produces no input.

My only solution is to tell the user to power cycle the box. Not very nice.