CLOUD9 IDE(http://www./)是一个在线的同时兼容JavaScript和Node.js应用程序,以及HTML,CSS,PHP,Java中,Ruby和其他23种语言的开发环境。
我们建议,云9 IDE在容量大于4GB的SD卡上运行。关于如何从NAND到SD记忆卡迁移程序/数据,请参阅第2章。
安装所需要的软件包
- $ sudo apt-get install git libssl-dev python-software-properties
复制代码 建立nodejs(IDE CLOUD9需要)
- $ git clone git://github.com/joyent/node.git
- $ cd node
- $ git checkout v0.8.22
- $ make
- $ sudo make install
复制代码 安装nodejs后,可以直接删除资源,以节省空间。
编译CLOUD9 IDE
- $ git clone https://github.com/ajaxorg/cloud9.git
- $ cd cloud9/
- $ npm install
复制代码 CLOUD9运行在pcDuino
- $ ./bin/cloud9.sh -l 0.0.0.0
复制代码 如果你打算在pcDuino上运行,请在pcDuino上使用Chrome浏览器,并指向http://127.0.0.1:3131/。
如果你要在PC或其他设备上运行,请在pcDuino上使用Chrome浏览器,并指向到http://board-ip-address:3131。pcDuino的IP地址可以用一下命令来获得:
在CLOUD9 IDE上运行js测试代码
在CLOUD9 IDE上运行js代码很容易。 只要写好代码(例如blink_led.js),然后点击菜单栏上的“运行”按钮。
以下为在pcDuino上运行的截图:
在PC上远程访问的截图:
示例代码如下:
blink_led.js:
- /**
- * blink_led.js, simple node.js test code for pcduino (http://www.)
- * base on the source code from https://github.com/jheising/node.pcduino.git
- */
- var fs = require('fs');
- var led_pin;
- var INPUT = 0;
- var OUTPUT = 1;
- var LOW = 0;
- var HIGH = 1;
- function digitalWrite(pin, value)
- {
- fs.writeFileSync("/sys/devices/virtual/misc/gpio/mode/gpio" + pin, String(value));
- }
- function pinMode(pin, mode)
- {
- fs.writeFileSync("/sys/devices/virtual/misc/gpio/mode/gpio" + pin, String(mode));
- }
- function delay(ms)
- {
- var start = new Date().getTime();
- for (var i = 0; i < 1e7; i++)
- if ((new Date().getTime() - start) > ms) break;
- }
- function setup()
- {
- led_pin = 18;
- pinMode(led_pin, OUTPUT);
- }
- function loop()
- {
- digitalWrite(led_pin, HIGH);
- delay(1000);
- digitalWrite(led_pin, LOW);
- delay(1000);
- }
- function main()
- {
- setup();
- while(1)
- {
- loop();
- }
- }
- main();
复制代码 在CLOUD9 IDE上运行C / C + +程序
运行C / C ++和从终端运行一个程序几乎是相同的。 首先写代码(例如00.pcDuino/blink_led.c)。 从命令输入框(CLOUD9 IDE的底部)运行以下命令:
- cd 00.pcDuino/
- g++ blink_led.c -larduino -I/usr/include/pcduino -o blink_led
- ./blink_led
复制代码 示例代码如下:
blink_led.c
- #include
- int led_pin=18;
- void setup()
- {
- pinMode(led_pin, OUTPUT);
- }
- void loop()
- {
- digitalWrite(led_pin, HIGH);
- delay(100);
- digitalWrite(led_pin, LOW);
- delay(100);
- }
复制代码 到这里我们惊喜地发现,我们再也不用把板子放到电脑旁边来调试代码了,也不用通过VNC的方式。 我们可以轻松地在ipad上面,远程对在现场的机器人或者其他项目实时地改动代码。
|