Orange Pi PC– Battle of the PIs

OrangepiOrange Pi PC

This is a complete and much shorter re-write of an earlier blog entry – a lot has happened in recent months and so what’s the point of keeping stuff online that is no longer useful, right?

Now, why would we want to revisit the Orange Pi PC?

Well, because having falling in love with Raspberry Pi 2 as an IOT tool I could buy 3 Orange Pi PCs for the price of the Raspberry Pi 2 if only it worked.

I should say right at the start  – I’m not interested in a pretty interface for another media centre – I’m after a low-cost box that I can talk to remotely. It must run the following:

  • Apache of similar with PHP
  • Node and Node-Red
  • Mosquitto
  • SQL-Lite
  • SCP remote access
  • Webmin

Why that combination? Well, first things first – I’d love to run NGINX but I’ve not had a lot of luck there with my combination of software and Apache is ok.  Secondly – I control stuff around the house and need Node-Red as the central controller – it’s also a great thing to have generally. Thirdly, Mosquitto – that’s how I control most of my stuff – and I need the websockets version.  Finally SQL-Lite –  having read some horror stories about the amount of writing that MYSQL does and bearing in mind we’re using SD memory here with limited writes, I’ve settled on SQL-Lite – and that needs PHPLiteAdmin to administer it hence the need for Apache etc. SCP for remote access to get to files without having to hook a monitor up – and Webmin – well I just like Webmin for updating stuff.

I have all of this running on the Pi 2 – but of course that’s £30 a pop. Investigating the Orange Pi was a means to save costs. Too good to be true? Well, if you read the original article (now scrapped) you’ll know I had LOTS of issues and eventually gave up. All of that has changed.  Currently I have everything running except for serial ports – and I’m sure that is just a minor issue – and I’ve not yet tested sound…. part of that is because one particular Node-Red node – IVONA refuses to install on the Orange Pi – again – I think that is likely solvable.

Performance: So how does this 2-pints-of-beer computer stack up against the mighty Raspberry Pi2 ?

With both the Orange Pi and the Raspberry Pi running winSCP and Kitty terminals… I went for sysbench…

apt-get install sysbench

and ran this test

sysbench –test=cpu –cpu-max-prime=20000 run

Both systems have similar software on them.

This came from here. https://www.howtoforge.com/how-to-benchmark-your-system-cpu-file-io-mysql-with-sysbench

The guys must’ve been testing this on a desktop as his test took 23 seconds (it did get a little warm, I think a little heat-sink on that processor might be a good idea)!!!!

After a couple of minutes I was just about dying of boredom when…..

JessieThe Orange Pi came back FIRST at 488 seconds – Amazing.

I really had expected the RPi to come back first. Minutes later and I was checking to see if the RPi had crashed  – but no, a quick change of directory in WinSCP showed it was still running.. nothing on the terminal however… as I was coming back from making coffee I noted the Raspberry Pi 2 had returned – with – wait for it 1,171 seconds!!

So – a working system for my control stuff, complete with a full operating system with various graphical tools – and all for under £12 inc shipping ??

February 2016: I took the latest Debian Jessie and scripts and after bringing everything as up to date as possible, I began my umpteenth attempt to get a working Orange Pi. This time I got reliable operation of Node-Red, Apache, Webmin and MQTT.

The ports and WiringPi: Ports at first seemed elusive until I came across this.. http://l0l.org.uk/2013/09/raspberry-pi-running-node-red-wiring-pi-to-pwm-control-a-light/

I installed WiringPi and it worked – at least for simple IO – but the interface for Node simply would not  have it. However, as the command line worked – that’s not a big deal.

  • gpio mode 14 out
  • gpio write 14 1
  • gpio write 14 0

Armed with those command line commands – which worked a treat – I only tried a few IO lines…. I used the EXEC function in Node-Red and now I have IO control – which is fine for at least the simpler operations – controlling relays etc.

So here is the information for getting Debian – follow precisely…

http://www.orangepi.org/orangepibbsen/forum.php?mod=viewthread&tid=867&extra=page%3D1&page=1

Following the instructions give you a working Debian on the Orange Pi, complete with WIFI and other add-ins – but it uses NGIX as against Apache. So in the script I remove this which gives me a basic working system and the rest is a modified and improved version of the original Raspberry Pi script as some stuff simply did not apply to the Orange Pi.

Here for anyone interested is the script.

https://bitbucket.org/snippets/scargill/Md4jr

To be checked. Audio – when I or someone else finds out why npm install node-red-contrib-ivona won’t work – I’ll test the sound.

ConnectorSerial: – there are 3 UARTs S0, S2 and S3 referred to in /DEV – The Node-Red SERIAL node sees them – but then refused initially to open them by default so there is a permission change in the script to make the ports accessible.

Heat: I do recommend a heat sink on the Orange Pi H3 chip – mine is is fitted and even then it gets too hot to touch for any length of time.

Anyway, recently I found this..  http://www.orangepi.cn/orangepibbsen/forum.php?mod=viewthread&tid=785 and I’ve run that and rebooted and – well, I can’t tell any difference but it’s probably worth running anyway.

Graphics etc: I have turned off the X interface near the end of the script thanks to input from others and  I’m using Samsung Evo microSDs now as they are relatively cheap and VERY fast compared to some – no – really a lot faster. 16GB should last a while.

And then the shocker, I updated the WIFI info as per Pi-Zero blog a couple of entries back – disconnected the Ethernet lead, plugged in a standard WIFI dongle, rebooted and… nothing.

Plugged the Ethernet back in and took a look with IFCONFIG – turns out that for some reason WLAN0 was perfectly intact but called WLAN2 –  I now have a running Orange Pi with WIFI! But the WIFI setup is not covered in the script as this is all being done with an Ethernet cable.

Just need to sort out that IVONA node which won’t work – and we’ve a winner by the look of it. Help appreciated with the latter.

May 2016: Bear in mind that since this article was written we now have the Raspberry Pi 3 which probably competes head on with this model on speed. Add to that MUCH better support on the Raspberry Pi AND the fact that they now have a backup program built-in as standard AND PIGPIO – ask yourself if the saving in initial cost is worth it.

Facebooktwitterpinterestlinkedin

76 thoughts on “Orange Pi PC– Battle of the PIs

  1. I have discovered something about the serial port . If you want to see at ….

    Now I’m trying to create a wifi server access point
    ciao

  2. Hi I bought a orange pi one I can connect via cable to Internet but when I try to Connect wi fi dongle nothing happened even when I put on in the settings!
    What can I do more?

    1. Good luck with that – support for the Orange Pi is virtually zero – at least from the manufacturers… however, you could have a word with this chap… CNX – http://www.cnx-software.com/ he seems to know a bit about Orange Pi generally.

  3. Hi Peter .
    I have started few days ago with orange pi plus2 .
    I have already published some toturial , you can fint them here
    http://www.orangepi.org/orangepibbsen/forum.php?mod=viewthread&tid=1142#lastpost
    Now I’m trying to test the serial port /dev/ttyS0 by using the pins at GPIO14=TX and GPIO15=RX
    These pins are connected to a FTL232-USB with 3V3 setted as well. In windows 7 I use putty or realTerm to connect and send datas over the usb com.The FTL converter shows to me the led blinking when win7 send something. In orange side I’m using minicom , gtkterm , also sudo cat /dev/ttyS0 …but nothing to do. I’m also ready to test the orange serial ports under netbeans and java , I have posted also how to solve some troubles with .os file. I have understood that there are some permission to set to use them , but how ? COuld you please help me ?
    Thanks
    Regards
    Walter

    1. my target is to create a wifi server (not web) and accept connections by android devices, but also to use GPIO because I want to make a porting of WSystem from Arduino Due to Orange pi .
      But in this step about serial ttyS0 I’m stopped ……

  4. Hi,
    Thanks for the great post.
    Can you please guide me, if there’s a way to use the Orange Pi as network monitoring tool to monitor the internet usage of a number of PCs and mobile phones at my home?
    Thanks

    1. Funny you mention that as I’m just on the lookout myself. I did think of doing some kind of ping and sending the stats off to Grovestreams – but then – if the connection isn’t working… so – there are graphing programs for Node-Red… and there’s a ping program (you have to make a very slight mod to the Pi setup and that’s in my script thanks to one of the readers in here) so I guess a regular item pinging a couple of major sites and storing the result in a graphing utility would help identify connectivity – as for actual individual PCs and phones – I’ll leave that to others to comment on – I’m not aware of anything that would do that.

      1. Hmm .. that would suffice to check that the system is connected. I’m looking at using OpenWRT or Nagios to monitor the traffic to individual systems.

  5. Mshark – watch the video at

    https://www.youtube.com/watch?v=nrKRudHpSMg&feature=youtu.be

    I did this all on a PC, with a Samsun 16GB Evo microSD, using an Anker USB3 adaptor and Win32DiskImager on Windows 10. After copying the image – I went to the drive on the PC with the image on and copied those scripts across – see the video. I then put the microSD in the OrangePi PC, booted up, remotely accessed from the PC, dropped in my script – changed permissions on the script, ran the script (as orangepi user NOT as any root user) and as you’ll see in the video I even forgot to remove nginx until half way through this time – last time I did that before starting the script. I did not remove the graphical environment this time – last time I did that at the end after everything worked.

    As you’ll see if you follow the video through – it all works.

    1. you have the same error i have! It’s in the video! From 11:27 to 11:31!!!
      the scripts goes on, but those packages are NOT installed!
      Now, or they are not needed, or something is clearly wrong…
      i did EXACTLY what you do in the video, and now i’m sure that there’s some error…
      the same apt-get command on raspberry do not through any error, the same that doing it on pc, while it DOES on udoo and orange, as you can see in your own video…

        1. i’m in the same your situation… everything was always installed, but i’ve not tested the system thoroughly to know if everything works as expected, i’m still learning how node-red works, and a little busy at this time… why you added those packages, in first place? Only you can say if they are needed for something like mosquitto, or node-red or other, or just optional, as you wrote the script… they are about improving threading, so maybe are important… who knows, not me 🙂

  6. Can anyone help with:

    npm install node-red-contrib-ivona

    It just won’t install. It does not use any special features of a Pi or anything – it’s calling a service… but I can’t get it to install…

  7. Ok, now know what bash-completion is – sounds useful but,.

    sudo apt-get install bash-completion

    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Package bash-completion is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    However the following packages replace it:
    util-linux bash

    1. really i don’t know what’s happening… please confirm what debian are you using… i’m using the Debian8_jacer_2.img that’s in the link in your script: http://www.orangepi.org/orangepibbsen/forum.php?mod=viewthread&tid=867&extra=page%3D1&page=1

      and i’ve this, trying to install bash-completion (which helps a lot using the TAB key to complete most of the commands on a shell prompt)… but with this image i’ve the missing libboost-all-dev and libboost-thread-dev… please try your script on a fresh install of that image on a spare sdcard, and you’ll see…

      and here’s a little tipo, mg123 instead of mpg123
      task_start “MP3 Installation” “Installing mg123…”

      oh, the purge commands can be unified using:
      sudo apt-get remove –purge nginx nginx-common

      orangepi@OrangePI:~$ sudo apt-get install bash-completion
      Reading package lists… Done
      Building dependency tree
      Reading state information… Done
      The following NEW packages will be installed:
      bash-completion
      0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
      Need to get 0 B/182 kB of archives.
      After this operation, 951 kB of additional disk space will be used.
      Selecting previously unselected package bash-completion.
      (Reading database … 94657 files and directories currently installed.)
      Preparing to unpack …/bash-completion_1%3a2.1-4_all.deb …
      Unpacking bash-completion (1:2.1-4) …
      Processing triggers for man-db (2.7.0.2-5) …
      Setting up bash-completion (1:2.1-4) …

      1. definetly there are missing dependencies in debian repositories…
        trying to install those packages using aptitude (after installing it, too, with sudo apt-get install aptitude) instead of apt-get, gives more details:

        sudo aptitude install build-essential git python-serial scons libboost-filesystem-dev libboost-program-options-dev libboost-system-dev libboost-thread-dev libboost-all-dev libsqlite3-dev subversion libcurl4-openssl-dev libusb-dev cmake
        The following NEW packages will be installed:
        cmake cmake-data{a} icu-devtools{a} libarchive13{a} libboost-all-dev libboost-atomic-dev{a} libboost-atomic1.55-dev{a} libboost-atomic1.55.0{a} libboost-chrono-dev{a}
        libboost-chrono1.55-dev{a} libboost-chrono1.55.0{a} libboost-context-dev{a} libboost-context1.55-dev{a} libboost-context1.55.0{a} libboost-coroutine-dev{a} libboost-coroutine1.55-dev{a}
        libboost-date-time-dev{a} libboost-date-time1.55-dev{a} libboost-date-time1.55.0{a} libboost-dev{a} libboost-exception-dev{a} libboost-exception1.55-dev{a} libboost-filesystem-dev
        libboost-filesystem1.55-dev{a} libboost-filesystem1.55.0{a} libboost-graph-dev{a} libboost-graph-parallel-dev{a} libboost-graph-parallel1.55-dev{a} libboost-graph-parallel1.55.0{a}
        libboost-graph1.55-dev{a} libboost-graph1.55.0{a} libboost-iostreams-dev{a} libboost-iostreams1.55-dev{a} libboost-locale-dev{a} libboost-locale1.55-dev{a} libboost-locale1.55.0{a}
        libboost-log-dev{a} libboost-log1.55-dev{a} libboost-log1.55.0{a} libboost-math-dev{a} libboost-math1.55-dev{a} libboost-math1.55.0{a} libboost-mpi-dev{a} libboost-mpi-python-dev{a}
        libboost-mpi-python1.55-dev{a} libboost-mpi-python1.55.0{a} libboost-mpi1.55-dev{a} libboost-mpi1.55.0{a} libboost-program-options-dev libboost-program-options1.55-dev{a}
        libboost-program-options1.55.0{a} libboost-python-dev{a} libboost-python1.55-dev{a} libboost-python1.55.0{a} libboost-random-dev{a} libboost-random1.55-dev{a} libboost-random1.55.0{a}
        libboost-regex-dev{a} libboost-regex1.55-dev{a} libboost-regex1.55.0{a} libboost-serialization-dev{a} libboost-serialization1.55-dev{a} libboost-serialization1.55.0{a}
        libboost-signals-dev{a} libboost-signals1.55-dev{a} libboost-signals1.55.0{a} libboost-system-dev libboost-system1.55-dev{a} libboost-system1.55.0{a} libboost-test-dev{a}
        libboost-test1.55-dev{a} libboost-test1.55.0{a} libboost-thread-dev libboost-thread1.55-dev{a} libboost-thread1.55.0{a} libboost-timer-dev{a} libboost-timer1.55-dev{a}
        libboost-timer1.55.0{a} libboost-tools-dev{a} libboost-wave-dev{a} libboost-wave1.55-dev{a} libboost-wave1.55.0{a} libboost1.55-dev{a} libboost1.55-tools-dev{a} libcr0{a}
        libcurl4-openssl-dev libhwloc-dev{a} libhwloc-plugins{a} libhwloc5{a} libibverbs-dev{a} libibverbs1{a} libicu-dev{a} libopenmpi-dev{a} libopenmpi1.6{a} libserf-1-1{a} libsqlite3-dev
        libsvn1{a} libusb-dev mpi-default-bin{a} mpi-default-dev{a} ocl-icd-libopencl1{a} openmpi-bin{a} openmpi-common{a} python-serial scons subversion
        0 packages upgraded, 106 newly installed, 0 to remove and 0 not upgraded.
        Need to get 29.8 MB of archives. After unpacking 215 MB will be used.
        The following packages have unmet dependencies:
        libstdc++6 : Breaks: libboost-date-time1.55.0 but 1.55.0+dfsg-3 is to be installed.
        The following actions will resolve these dependencies:

        Keep the following packages at their current version:
        1) libboost-all-dev [Not Installed]
        2) libboost-date-time-dev [Not Installed]
        3) libboost-date-time1.55-dev [Not Installed]
        4) libboost-date-time1.55.0 [Not Installed]
        5) libboost-log-dev [Not Installed]
        6) libboost-log1.55-dev [Not Installed]
        7) libboost-log1.55.0 [Not Installed]
        8) libboost-thread-dev [Not Installed]
        9) libboost-thread1.55-dev [Not Installed]
        10) libboost-wave-dev [Not Installed]
        11) libboost-wave1.55-dev [Not Installed]
        12) libboost-wave1.55.0 [Not Installed]

        1. Hi

          Right – I’ve done a video – or rather it is in the process of encoding – I just hope it gets done before I have to go out this morning. I went through from the file – right through to a working setup. I even blew it and had to remove nginx half way through – incidentally I did not remove the graphical interface until the very end. I’ve not even done that in the video to save time. Look out for a new post today with a link to the YouTube video. It is fairly long but no-where NEAR as long as it took to record it in the first place.

          1. ok, thanks
            but can you confirm that Debian8_jacer_2.img from the rar file in the post you say in the script is the right image you use? Because the error i have seems to affect quite a lot of people, both on debian and ubuntu… i’ve done nothing special than burn the image on sd, enlarge filesystem, remove nginx and launch you script, but i had the same error all the 3 times i tried…

  8. MRSHARK:

    “and bash-completion would be a nice addition:
    sudo apt-get install bash-completion”

    Do you want to explain that – means nothing to me – remember I’m not a Linux guy??

  9. Hi David – I still don’t know why this commenting system only lets you go so deep – anyway I’m responding to your item starting “Yes, it looks like….”

    No that is not the Orange Pi PC – it is the new Orange Pi One. So what is the difference?

    Well for starters it only has 512K of RAM – instead of 3 USBs it has 1 USB. It is also missing both the infra-red input (not too big a deal) and the audio output (for me -that kills it). It has HDMI audio which is fine if you want to stick a £100 monitor on it to use it!

    So comparing it to a Raspberry Pi ZERO – it has half the RAM – but a faster processor – and Ethernet. Erm, I’m not sure I see the point, really. I suppose it depends what you want to achieve. If you want to use it stand-alone – you have to then add on a USB hub.

    For me – I want a gig of RAM – 3.5mm audio out – and supported operating systems – it has none of these. One can only hope that the one Debian installation that does seem to do the job works with that board, I guess it will as it’s the same chip.

  10. Is it the original Orange Pi that you’ve got,Pete, or is it the version 2? I’m guessing from what you said about it costing c£13 that it’s version 1.

    1. Orange Pi PC – not Orange Pi – sorry if that is misleading. As far as I’m aware there is only one version. I only know about this price – if anyone knows better let me know as they’ve just jacked the postage up – used to be free.

      http://www.aliexpress.com/item/Orange-Pi-PC-ubuntu-linux-and-android-mini-PC-Beyond-and-Compatible-with-Raspberry-Pi-2/32522193901.html?spm=2114.30010308.3.19.6ymQ38&ws_ab_test=searchweb201556_3,searchweb201644_3_505_506_503_504_301_502_10001_10002_10016_10017_10010_10005_10006_10011_10003_10004_10009_10008,searchweb201560_3,searchweb1451318400_-1,searchweb1451318411_6450&btsid=fac5d244-0596-4593-8936-f85481ccccb0

      Some idiot in the States is trying to charge nearly £70 – the whole POINT of this device is that it is way cheaper than the Raspberry Pi otherwise there is no point as it has no support.

        1. Am I right in saying that is Orange Pi PLUS not Orange Pi PC. And at that price – ok it has more RAM but it simply isn’t worth that money as they don’t support their products. Example – go looking for how to get the Infra-Red running in Debian. The PC has a nice infra-red input – apparently supported in their pretty awful Android image (all their original images are awful – it is down to others that we have working images).

          But at just under half the price of a Pi – the PC I think just about does it even with the limitations – depends what you want to do with it of course. I’m really annoyed with myself that I can’t yet figure out why node-red-contrib-ivona won’t install as voice output is the last of my requirements and that’s the only free speech system that doesn’t sound like a robot throwing up in the loo.

          1. Yes, it looks like that is a “Plus”. To be honest I’m struggling to work out how many variations there are and what the differences are, as different sellers use different words to describe what might be the same thing.

            This one has a good price but is it the same as you’ve got?
            http://www.aliexpress.com/item/Orange-Pi-One-ubuntu-linux-and-android-mini-PC-Beyond-and-Compatible-with-Raspberry-Pi-2/32603308880.html

            My requirements are simply Node-Red (with Node Red UI), Mosquitto, and Weaved, with the ability to accept SSL connections via Ethernet. Sounds like the Orange would do all that.

            And/or I could use an Orange Pi to replace my Pi 2 that runs the camera system. So that would need to run MySQL, external HDD, phpMyAdmin, Zoneminder, and Apache.

  11. Hi Peter! Thx for updating tis OrangePi post again! Its another glimmmer of hope for us Banana Pi owners whom already chuck it aside due to the amount of work to get it even to basic functionality.

    If its possible in your spare time , can create a running script like the ones you have for node-red on raspberries? As least it would help those of us to shorten the pain of going thru the process again!

    Thanks for the awesome updates!

    1. Hi

      Well Robin I would certainly have a go at the Banana Pi but I don’t have one. Strangely I asked the company for a sample to have a play with and they never responded – just about the only one who hasn’t so far along with Orange Pi (but their product was so cheap I just bought one). In my mind, getting scripts right is the answer as then people can hopefully reproduce them – sadly I’m a rank amateur when it comes to scripts and some of the facilities therein – I learn a little something new every day – like storing the current location in a variable – but the script language is very different to C so it’s a slow process. I’ll drop the Banana Pi people another line.

        1. Half the RAM, 3rd the ports, no mic, no sound out other than HDMI, not sure if I want to go there… 🙂

    2. You’ll see how there is an attempt at a script – this does not mess with serial permissions – I did that manually – waiting for some Linux whiz to tell me what the minimum permissions should be for Node-Red to be able to access the ports then I’ll stick that in the script.

  12. Peter

    It is great that you update your posts, but I find it near impossible to identify the new information.

    Could you consider making the update text in a different colour, blue maybe?

    1. Hi Bill – problem with that – sometimes I fix things that are just plain wrong… in which case the updates would look pebble-dashed. Also I try to avoid formatting text as last time I did that, updating the template was a nightmare.

      In this case as you’ve brought it to my attention – I’ve put an “updates” section at the end with the new info. I’m still working on a new linkI found – as you’ll see in the update – as it provides a working Debian with WIFI etc. but right now too many other things don’t work.

      1. My personal preference would be for the original article to remain as-is but with a note at the top that a more up to date version now exists. And then a link to the new one.
        Otherwise you get a situation where you have a completely revised post but still with all the comments that applied to the original content.

    1. Good advice – and when I’ve backed it up I’m going to try this..

      http://www.orangepi.org/orangepibbsen/forum.php?mod=viewthread&tid=867&extra=page%3D1&page=1

      I can control ports, it’s all working well, but serial – nope – not getting anywhere and also I cannot seem to install node-red-contrib-ivona

      So I’ll try this version and see if I can do better. Mind you – this is usable… I have ordered a heatsink though because that H3 chip is VERY hot. I reckon you could do a mini-egg on it.

      1. Good start, the image in that last reply boots up and has Ethernet and WIFI – found my adaptor immediately.

        1. great job!
          but in the post on that forum you say you had problems with the installation and networking…
          how you solved them?

          1. I didn’t – I used an image that works – as the originals from the manufacturers should have in the first place. Check the post – there’s a link to the image with instructions.

          2. thanks, i’ll test it ASAP
            why not add the arduino node to your setups? This would allow to use an external device to have I/O pinouts, even when a platform does not have native gpio interface with nodered gui items… or even extend functional pinouts, or have a mix of 5v/3.3v sensors 🙂
            http://nodered.org/docs/hardware/arduino.html

        2. hi, at this command i get these errors… i’m following your script line by line…

          orangepi@OrangePI:~$ sudo apt-get install build-essential git python-serial scons libboost-filesystem-dev libboost-program-options-dev libboost-system-dev libboost-thread-dev libboost-all-dev libsqlite3-dev subversion libcurl4-openssl-dev libusb-dev cmake
          Reading package lists… Done
          Building dependency tree
          Reading state information… Done
          build-essential is already the newest version.
          git is already the newest version.
          Some packages could not be installed. This may mean that you have
          requested an impossible situation or if you are using the unstable
          distribution that some required packages have not yet been created
          or been moved out of Incoming.
          The following information may help to resolve the situation:

          The following packages have unmet dependencies:
          libboost-all-dev : Depends: libboost-date-time-dev but it is not going to be installed
          Depends: libboost-log-dev but it is not going to be installed
          Depends: libboost-wave-dev but it is not going to be installed
          libboost-thread-dev : Depends: libboost-thread1.55-dev but it is not going to be installed
          E: Unable to correct problems, you have held broken packages.

          1. I can only say that (a) given the Orange Pi PC – and not another version and (b) given the exact operating system copy I used and suggested and (c) going in as orangepi user and not root…. the script works. There must be something different in your setup – I did this twice as I screwed something up on the first attempt due to impatience and had to start again.

          2. used the image you say: Debian8_jacer_2.img
            on orange pi pc… i’ve:
            lsb_release -a
            No LSB modules are available.
            Distributor ID: Debian
            Description: Debian GNU/Linux 8.3 (jessie)
            Release: 8.3
            Codename: jessie

            it’s like some packages are missing on the debian repo… anyway i’m rebuilding the boost package, via:
            sudo apt-get build-dep boost1.55
            mkdir boost && cd boost
            sudo apt-get -b source boost1.55

            and install all of the missing ones from the built ones… i had similar problems on udoo

          3. just redone, from 0… different sd card… used the image you say: Debian8_jacer_2.img on orange pi pc… burned it on microsd with win32imager, no problems at all, overwritten script.bin and uimage with the correct OpiPC ones on the topic you posted, booted OpiPC without problems, opened a terminal and done sudo fs_resize, rebooted and copied your script, chmod 777 it and then runned with ./script.sh
            it did the initial updates, then the part that gives error, this the copied lines

            ———————————————————————————————————————————————————————————————————————————————
            Prerequisites
            ———————————————————————————————————————————————————————————————————————————————
            Elapsed Time: 00 hrs 14 mins 55 secs

            Enabling PING and SAMBA (to access the hostname externally – and STUFF
            Reading package lists… Done
            Building dependency tree
            Reading state information… Done
            build-essential is already the newest version.
            git is already the newest version.
            Some packages could not be installed. This may mean that you have
            requested an impossible situation or if you are using the unstable
            distribution that some required packages have not yet been created
            or been moved out of Incoming.
            The following information may help to resolve the situation:

            The following packages have unmet dependencies:
            libboost-all-dev : Depends: libboost-date-time-dev but it is not going to be installed
            Depends: libboost-log-dev but it is not going to be installed
            Depends: libboost-wave-dev but it is not going to be installed
            libboost-thread-dev : Depends: libboost-thread1.55-dev but it is not going to be installed
            E: Unable to correct problems, you have held broken packages.
            [OK]
            ———————————————————————————————————————————————————————————————————————————————
            Mosquitto
            ———————————————————————————————————————————————————————————————————————————————
            Elapsed Time: 00 hrs 15 mins 29 secs

          4. also, just before reboot it says:
            After reboot – you must manually edit /home/pi/.node-red/settings.js to UNCOMMENT the line
            which starts os:require(‘os’) and remove the comma if here are no other lines in that section

            but after reboot that file doesn’t exist, nor does /home/orangepi/.node-red/settings.js

            and, doing node-red-start leads to:
            orangepi@OrangePI:~$ node-red-start

            Start Node-RED

            Once Node-RED has started, point a browser at http://192.168.1.250:1880
            On Pi Node-RED works better with the Iceweasel browser

            Use node-red-stop to stop Node-RED
            Use node-red-start to start Node-RED again
            Use sudo systemctl enable nodered.service to autostart Node-RED at every boot
            Use sudo systemctl disable nodered.service to disable autostart on boot

            To find more nodes and example flows – go to http://flows.nodered.org
            You may also need to install and upgrade npm
            sudo apt-get install npm
            sudo npm i -g npm@2.x

            Starting Node-RED graphical event wiring tool….
            Started Node-RED graphical event wiring tool..
            nodered.service: main process exited, code=exited, status=217/USER
            Unit nodered.service entered failed state.
            nodered.service holdoff time over, scheduling restart.
            Stopping Node-RED graphical event wiring tool….
            Starting Node-RED graphical event wiring tool….
            Started Node-RED graphical event wiring tool..
            nodered.service: main process exited, code=exited, status=217/USER
            Unit nodered.service entered failed state.
            nodered.service holdoff time over, scheduling restart.
            Stopping Node-RED graphical event wiring tool….
            Starting Node-RED graphical event wiring tool….
            Started Node-RED graphical event wiring tool..
            nodered.service: main process exited, code=exited, status=217/USER
            Unit nodered.service entered failed state.
            nodered.service holdoff time over, scheduling restart.
            Stopping Node-RED graphical event wiring tool….
            Starting Node-RED graphical event wiring tool….
            Started Node-RED graphical event wiring tool..
            nodered.service: main process exited, code=exited, status=217/USER
            Unit nodered.service entered failed state.
            nodered.service holdoff time over, scheduling restart.
            Stopping Node-RED graphical event wiring tool….
            Starting Node-RED graphical event wiring tool….
            Started Node-RED graphical event wiring tool..
            nodered.service: main process exited, code=exited, status=217/USER
            Unit nodered.service entered failed state.
            nodered.service holdoff time over, scheduling restart.
            Stopping Node-RED graphical event wiring tool….
            Starting Node-RED graphical event wiring tool….
            nodered.service start request repeated too quickly, refusing to start.
            Failed to start Node-RED graphical event wiring tool..
            Unit nodered.service entered failed state.

            and some of the packages you install (ex: build-essential and git) are already in the OS image, as in my previous post:
            Reading state information… Done
            build-essential is already the newest version.
            git is already the newest version.

            and some you try to remove are not installed:
            —————————————-
            Elapsed Time: 00 hrs 22 mins 46 secs

            Loading Node-Red
            Reading package lists… Done
            Building dependency tree
            Reading state information… Done
            E: Unable to locate package nodered
            Reading package lists… Done
            Building dependency tree
            Reading state information… Done
            0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

            ## Installing the NodeSource Node.js 4.x LTS Argon repo…

            please review the script, something is missing…

            1. Sorry yes.. run node red (node-red) – and then that file will exist. Also use WEBMIN (xxx.xxx.xxx.xxx:10000) – and go to “system” “bootup and shutdown” and find the node-red-service. In there you’ll see that user and group are set to “pi” – set them to “orangepi” – that is what is causing that starting and stopping mess above.

            2. and sorry – I need to change that to orangepi – not pi – the file reference in bitbucket.. right – I’ve updated the instructions in the script.

          5. tried to install a standard debian jessie on vmware, and those packages are present, while they are missing in the arm repository, as such the errors on orangepi about missing libboost-all-dev and libboost-thread-dev…
            if you have a spare sdcard, please try yourself, as i did 3 installations using Debian8_jacer_2.img, removing nginx and launching your script, but it fails quite early for those missing dependencies, and goes on, but eventually with missing pieces…

  13. Hello Pete,
    Been following this site since the beginning, Thanks for the Great work.
    I am not really familiar with the Orange Pi, but I had a problem with an HTPC on my tv: NO sound on the analogue output.
    alsamixer may be what you are looking for, the custom configuration I used from) ‘It’s F.O.S.S.’ website) the link below fixed my ‘No sound from analogue out’.
    alsamixer has a lot of features, don’t forget to scroll right(at least on PC).
    Can’t wait to see what you come up with next.
    Brendan
    http://itsfoss.com/fix-sound-ubuntu-1404/

  14. Pete, to do a fair comparison you should really use the ‘–num-threads=4’ on the Pi2 and ‘–num-threads=2’ on the OrangePi to match the number of cores. I did this on my Rpi2 and BananaPi and got:

    BananaPi: 738 (1 thread), 368 (2 threads)
    Pi2: 702 (1 thread), 176 (4 threads)

    (I’m not sure why your Pi2 performance was so bad, both mine are running respective Jessie variants)

    The big advantage of the BananaPi and the sole reason I bought it is the gigabit network interface. For RTL-SDR it barely works at 2M samples per second where as the BananaPi breezes it. It’s also a bit cheaper. There’s an IR receiver too but that’s not important to me.

    For a giggle, I also ran it on the Pi B+: 1884 (1 thread)

    Pete

    1. I’ve actually put the Orange Pi to one side at the moment – until a later version of the operating system becomes available – the lack of support from the company itself is dispicable and you’re relying on people playing about with the thing to find answers. What is the Banana Pi like for support? From what I can see it is more expensive than the Blackberry Pi2 and has only 2 USB ports?

      1. My use case is fairly narrow, so although it’s got IR and a SATA port I’ve not used them. The Rpi’s 100Mb network didn’t cut it for me. The thing about the Bpi is that there are a number of sites with support and to be honest I’m not sure which of them is actually the original manufacturer (there is a note about legal stuff relating to rights to manufacture and distribute on bananapi.org). It’s not 100% Rpi compatible in that you can’t take an Rpi SD card and stick it in a Bpi and expect it to run but the distros that are available match closely with those for Rpi.

        I got mine for £23 delivered (very quickly from ebay UK) so a bit cheaper than an Rpi2. And yes, only 2 USB ports, I only need one for an RTL-SDR dongle.

        Pete

  15. Ardhat is a great way to get I/O expansion and lots more for Pi-alikes, comes with Firmata loaded so use ttyS3 to get started.

    1. No, I want to use the GPIO on the Orange Pi itself – it has tons of it and up to now I can’t access it.

        1. Want to let us know when you’ve tested that – you could certainly save me some work – I spent far too many hours on that thing 🙂 But it was so fast it is worth pursuing.

          1. Nice it looks they’ve finally implemented it. Last commit was 4 days ago.

            Pete by the way your problem with “Invalid module format ” when inserting gpio-sunxi is likely due to a mismatch between the kernel version and the module version, as it just happened to me on my PC.

            You can check the versions with uname -a and modinfo gpio-sunxi

            1. Have you by any chance blogged the complete sequence – ie links for the right version of Linux etc.. and how to put it all together?

          2. I get the same insmod errors as Pete BTW. Not surprising I guess as we’ve installed the same Linux distribution.

    1. My Orange Pi PC arrived at the w/e.

      I’ve used the Debian Jesse image and had it up and running connected via ethernet within 15 mins.

      Compiled mosquitto (had some hassles here with dodgy instructions ) and installed Node and Node-Red .

      Tonight I got the audio-out working and normit talking away.

      All good so far but the CPU does get hot, I’ve ordered a heatsink 🙂

      1. Yup, got that far….but the GPIO I think was my final bottleneck…. I got audio running but only by fluke – want to put something in here about what you did to get the audio working? Any help would be appreciated by a lot more than me – I’ve seen loads of folk having trouble.

        1. Sure, I’ll put something up. It’s very easy to sort it but as with all these things it’s the finding out how to do it that takes the time !

          1. OK, To get audio-out working on the Orange PI, perform the following (note: I’m using command line stuff as I don’t have a monitor connected, there may be other [GUI] ways of accomplishing the same thing!)

            Set the default audio-out to be the on-board audio rather than HDMI
            Your /etc/asound.conf file should look like this ( specifically the card parameter needs to be zero)
            http://s10.postimg.org/6aibd97c9/Capture.jpg

            Then run “alsamixer” and enable Item: Audio lineout (press F6, select audiocodec then press the ‘m’ key). Esc to exit the program.
            http://s23.postimg.org/rp39eg263/Capture.jpg

            That’s it, you *should* now have audio-out through the on-board socket.

            This works (for me) on Debian Jesse, other OS’s may differ.

            1. I went back to this and could not remember which Jessie worked – there are two or three of them out there. Which one did you use? Orange Pi really need to get their act together on this.

          2. I’m using the OrangePI_Jessie_Xfce.img.xz image from http://www.orangepi.org/orangepibbsen/forum.php?mod=viewthread&tid=342

            However, I’ve found that the modules seem to have been complied against a different kernel version and don’t load (remember that modprobe error?). But I think I’ve found a solution for that, will try this evening. Hopefully then my WiFi dongle will work, currently it refuses to do anything due to the module version incompatibility.

            I might even build my own kernel / modules etc, I’ll see.

            As you said, the software situation with these boards is a mess and could lead to their downfall. Shame as they’re incredible VFM.

            I shall report back!

        2. hi pete

          can you save all you the followers some time and test if you can convert your bootable Opi PC bootable SD card to iso and share it.
          as many includes me have a troubles with Linux based Pcs and boards.

          please try it and if it’s working share it with us , bwlow is a link describe how this can be done. from a USB or SD it will work for both.

          i’d recommended to remove any credentials or login data saved in the Opi Setup from SD card before share it with us -of course if you have the time to do – as it will be shared to all with the ISO file.

          https://timothy-quinn.com/how-to-convert-a-bootable-usb-to-an-iso-file/

          1. it should make the iso file small or exact to the actual files size as it’s not copying the entire SD sector. this app is not similar to win32diskimager .
            also the SD card should be formated FAT32 so you can select the boot files in the setrps. as other SD format will not show in windows maybe exFAT will work also.
            my Orange Pi in the way from china so i can’t test this right now

  16. Great, I knew you would do something cool with the board 🙂
    You need to use sysfs to control the GPIOs, after loading sunxi-gpio module (or isit gpio-sunxi)?

    1. Hi there – care to be a little more specific – if you can ?? I got no-where looking for files and setup – this would round the board off nicely if I could get GPIO on Node-Red running….

Comments are closed.