当前使用运行J5的中央linux机器运行许多带有StandardFirmataWiFi的ESP8266。因此,与其设置一堆微控制器以独立运行,它们都启用了WiFi,并且在一台计算机的命令下运行。 到目前为止,这一直很好。我对JS非常熟悉,对C / C +不太熟悉 但是偶尔我会在C / C +中找到无法找到与J5等效的示例代码。
问题: 是否可以从Johnny-Five发出C / C +(甚至Python)命令?因此,换句话说,不是中央机器向微控制器发出仅J5的命令,有没有办法让J5发送C / C +代码段?如果是这样,这将使直接使用演示/社区共享代码更容易,同时使精通JS的开发人员更容易过渡到C。
答案 0 :(得分:0)
C和C ++是编译语言。这意味着您需要一个编译器才能将C或C ++代码转换为可以在处理器上运行的代码。因此,在C或C ++中没有eval()
,因此没有函数可以向文本文本发送文本并将其作为C或C ++代码进行处理。
因此,不能是Johnny-Five或其他任何方式将C或C ++代码发送到ESP8266的一种方法-ESP8266无法运行C或C ++编译器并且无法翻译C代码它可以执行的东西。您可能会传输已编译的ESP8266代码,但是这种方法有很多困难,您不应该浪费时间考虑它。
类似于Javascript,Python是一种解释语言。它具有eval()
函数,您可以将字符串作为Python代码执行。如果您可以安排ESP8266上的处理程序接收一个字符串,然后对其进行评估,则可以从远程程序发送Python命令。
请注意,执行此类操作存在巨大的安全问题-您实际上是在允许远程程序执行ESP8266上的内容。