Intel® Makers
Intel® Edison, Intel® Joule™, Intel® Curie™, Intel® Galileo
Announcements
Welcome - This is a Peer-to-Peer Forum only. Intel has discontinued these products but you may find support from other customers on this Forum
9881 Discussions

led-speech-edison Program execution error.

sbag
Beginner
1,046 Views

https://github.com/drejkim/led-speech-edison GitHub - drejkim/led-speech-edison: Speech-activated LEDs using Intel Edison, SparkFun blocks, Python, and CMU Sphinx

led-speech-edison

I made a program in the order of the links in Google.I want to make this automatically start. When booting.now is executed after login as Root.
4 Replies
Pedro_M_Intel
Employee
127 Views

Hello ittang,

This is actually simpler than it looks. You will have to create a system service for your script, I'll give you a brief explanation on how to do it. I'll do it based on a simple blink script, you will have to adapt it to your project:

1. First, you need your code. Create the file where it'll be store with "vi blink.c". This is the code that I'm going to use:

# include

# include

# include

# include "mraa/gpio.h"

int main(int argc, char** argv)

{

mraa_platform_t platform = mraa_get_platform_type();

mraa_gpio_context gpio, gpio_in = NULL;

char* board_name = mraa_get_platform_name();

int ledstate = 0;

gpio = mraa_gpio_init(13);

mraa_gpio_dir(gpio, MRAA_GPIO_OUT);

for (;;)

{

if (gpio_in != NULL && mraa_gpio_read(gpio_in) == 0)

{

return 0;

}

ledstate = !ledstate;

mraa_gpio_write(gpio, !ledstate);

sleep(1);

}

return 0;

}

2. Now we have to compile it and create an executable file that your Edison can run:

gcc blink.c -o blink -lmraa

3. Once you've done it, you can test it with "./blink". Once you are sure the code is working as expected, then we have to create our service's file.

4. The service's file must be stored in /lib/systemd/system/ and it'll look like this:

# !/bin/sh

[Unit]

Description=Blinking LED

[Service]

ExecStart=/home/root/blink

Type=idle

[Install]

WantedBy=basic.target

The service file name must include the ".service" extension. Also, note that on "ExecStart=" I used "/home/root", note that this is the location where I stored my blink script, you should change it to wherever you stored yours. I called my service "blink.service".

5. Now we will enable the service with the command "systemctl enable blink.service". Now your board should start the script on every reboot. If you see that this is not happening, you can check the status of the service with "systemctl status blink.service" and if it fails it's probably some configuration that was incorrectly set.

Peter.

sbag
Beginner
127 Views
Thank you for having read my posts. I've made .test.service----------------------------------------------------------------------------------------------

# !/bin/sh

[Unit]

Description= case00262931

[Service]

ExecStart=/home/root/led-speech-edison/speech.py

Type=idle

[Install]

WantedBy=basic.target

-----------------------------------------------------------------------------------------------

The service does not run.

In my opinionIt seems that require root environment.
Pedro_M_Intel
Employee
127 Views

Did you give the script executable permissions? In case you didn't, you can do it with the command:

chmod +x speech.py

While on the directory where the file is stored.

Does it make a difference?

Peter.

Pablo_M_Intel
Employee
127 Views

Hi ittang,

Do you have updates on this case?

Regards,

Pablo

Reply