abramq Posted February 2, 2017 Posted February 2, 2017 Hello,I have idea to make a product (based on SBC - Small Board Computer) and sell it on the market, but after searching many forums, websites, youtubes etc I am sure only for one:All what can work on that SBCs stable (I mean stable for production use, for customer product) is... lighting a LED connected to pins... That's all.Anything else could work, but also could not work. Drivers coud be found, but you can not be sure they will work (most of them are in version zeropoint...). Units could be connected, but it doesn't mean they will work when connected... Crazy.Let me explain more.My project needs a SBC with working camera and working communication (Bluetooth or WiFi-Direct). My choice was Orange PI Lite or NanoPi Neo Air.Specs fits super for my project. Unfortunatelly only in theory...The problem is that all of that elements I need doesn't work stable. No one works stable. Of course, you can find on Wiki samples how to take a picture with connected camera or to send a file using Bluetooth. But more you read, more you try - you loose your optimism.What works for one try not works in production model, where you need to make (for sure) hundreds of pictures, send hundreds of files by Bluetooth etc. Even on NanoPi forum the producer answers me, that they do their best, but Bluetooth isn't so stable, WiFi-Direct doesn't work at all, drivers for camera has no stable options for example to choose photo resolution...Other example - obexftp (for sending files using Bluetooth, has version 0.24.2 - a year old, previous verson 0.24 is from year 2013...Producers of SBC just produces boards and no one care about the rest.So is it all SBC market only for education? Only for play? Only for light LED or start a motor?It seems producers only care to relase new models, put more cores, more MHz, forgetting drivers and software at all?If I make a project and sell it to customers, they have 1 or 2 years guarantee. Using one of SBC it is possible that for two years there will be no SBC I used to my project... really sad to think about business...Maybe you have tried any of SBC for production? Maybe there is any chance? Which model?
tkaiser Posted February 2, 2017 Posted February 2, 2017 Sorry, but it shouldn't be that hard to get that there's a difference between tinkerer toys for $12 or $20 and embedded devices that are suitable to be used in commercial products? SBC and SOM (system on module) do exist where manufacturer also has Linux and Android knowledge, hires a bunch of both hardware and software guys who are able to code (fixing or even writing necessary drivers from scratch) and also provide you with professional support. Check https://www.theobroma-systems.com/ for example but please don't be that surprised that they charge 'a little' more than what you obviously want to pay. These are simply different markets. Here the 'as cheap as possible' area where the average customer thinks a device that costs as much as 2 beer would already be expensive and there companies who pay developers / supporters which of course adds to the price they charge. Next area is compliance with regulations (CE / FCC). That being said of course you can build products with cheap chinese SBC if they meet the necessary criteria (again CE / FCC certification for example) but please don't expect the manufacturers providing any useful software offerings (FriendlyELEC being here somewhat an exception) and please don't also expect open source community to help you making profits for free. The first word in 'Free software' means 'free as in free speech not as in free beer', developers can be contracted so it's up to you to pay for consultancy and coding to get your product to the market. Maybe the C.H.I.P. story is a good example. Some smart guys knowing their average customer (being somewhat clueless, hooked on the $9 price tag, not getting that shipping costs and the numerous overpriced accessories add to an overall pretty high price for something useful in the end) had to contract a 3rd party to get the software side done since they chose a pretty outdated SoC (R8 is a relabeled A13: over 4 years old, slow/inefficient/boring) so no community member is dumb enough to spend his spare time on.
tkaiser Posted February 2, 2017 Posted February 2, 2017 Almost forgot: Regarding camera stuff please check for @lex' threads for this and for BT do a custom google powered search for 'arox bluez' instead (as far as I understood the problem is the BT stack in userland and some unfortunate design decisions that make dealing with BT on Linux such a PITA)
Igor Posted February 2, 2017 Posted February 2, 2017 It seems producers only care to relase new models, put more cores, more MHz, forgetting drivers and software at all? True, but they usually don't create software in first place. They just push out what they get from Chip maker, something unfinished, half done and they do this all the time. None of board maker produce stable software, but 3rd party companies, groups, community so it's not much relevant if they put out new version every month. Usual community response is that some boards are ignored and therefore support remain on that half done / initial support. Useless for average Joe. Most of boards (if not all) which we support, can be used in production. You just have to read recommendation and not use kernel / image with labels "preview" "beta" "experimental" "development" and you should be fine. Older boards (A10 / A20) are better in term of stability, since they are longer around and all rough edges were found and fixed. Next are most popular boards, where this happens quicker. People use those boards in production for various services - not everybody is playing with them. I use two A20 boards for various services with uptime measured in months. It would be in years if I hadn't update them from time to time. Until fall 2016 all our services were running on A20 and Odroid XU4. Zero problems. Bluetooth and wireless are mostly covered with closed source drivers (firmware), which means troubles. If they work out of the box fine, if not, we try to fix them if it's in our power, otherwise this remain as is. Especially we don't try to fix 3rd party hardware, things which you attach to the board, since this is out of the project scope. We are few people and there are zillions of devices out there. We provide basic system and that system is stable (if not stated otherwise). When you start to plug things into your board you have to understand what are you doing.
abramq Posted February 3, 2017 Author Posted February 3, 2017 Ok, thanks for your voice. The C.H.I.P. is good sample - they put camera connector on its board but there is no one camera you can connect, even on their forum they are silent when people asking 'what with this camera?' I know, that I can not demand to much for that money, but I don't understand - if they want to cut costs why they mount that connector on the board? It makes people irritated. I am really impressed about SBC boards, they makes a little revolution on IoT market, but producers should know that if they will not care about system, about drivers - their boards will die on the market. The open source socials may care about it but also may not. And please don't forget we are talking about standard features of such boards - Bluetooth exists for years, this is basic technology everybody expect to use, similarly WiFi. Communication is the base today, Realtek chips exists for years too but when you buy new board what you have to do is read n posts to force your board to comunicate. Would be better they make price $ 1 more expensive - on every board would be $ "zilions" - and invest it into software. In my humble opinion of course. I have ordered some OrangePi Lite with camera and NanoPi Neo Air with camera. I am not giving up - hope there will be a way to succesfully run my project :-)
Igor Posted February 3, 2017 Posted February 3, 2017 Bluetooth exists for years It's closed source technology, require firmware to run, it's know to cause problems. This simply means that it's to avoid in first place. There are other and better ways for wireless comm. Hardware maker are just people / engineers which sometimes overestimate and make mistakes. If you add commercial agenda to this, things become only worse. For a board which cost 9 USD shipped, 1 USD is a lot . And they don't invest much into software. This goes from zero up to just a little. Even software is "free", it cost a lot of money to develop it. Armbian makes things closer to ordinary users and saves time, but we can't make a perfectly smooth plug and play operating system. Just remember to have fun in first place 1
arox Posted February 3, 2017 Posted February 3, 2017 There are other and better ways for wireless comm. Which ones ?
abramq Posted February 3, 2017 Author Posted February 3, 2017 Exactly, which one? I need my board to send files. The easiest way is to use WiFi network, but I have an enviroment without router (those are requirements of my product - sending files even if there is no internet). First way was Bluetooth, then WiFi-Direct. Both have problems to implement. If there will be other way - you will save my life :-) By the way - InfraRed is to slow for me. p.s. I have always great respect for all Armbian people, This is not negotiable! :-)
tkaiser Posted February 3, 2017 Posted February 3, 2017 The C.H.I.P. is good sample - they put camera connector on its board but there is no one camera you can connect, even on their forum they are silent when people asking 'what with this camera?' Please look up 'CSI' here: http://linux-sunxi.org/Linux_mainlining_effort#Major_drivers If you look at the status matrix above you see 'WIP' which translates to 'Wait in progress'. No one from community is actively working on the CSI framework and the money Nextthing spent on hiring Free Electrons is obviously not that much to get things done (understandable, they made a design choice to not use eMMC on the CHIP but use raw NAND instead which needed huge development efforts to get it somehow stable in order to save maybe less than $0.5 per device for the onboard storage). If you're currently searching around to do anything useful with cameras and Allwinner SoCs Armbian forum is the place to be since some kind souls started to look into various drivers and joined development/testing efforts here. BTW: we also use SBC at various customers (some of them even replacing 40TB NAS boxes due to 'work smarter not harder' approach) so if you know what you're doing and are able to deal with the software side yourself -- or hire someone, Open Source eases that a lot -- those little beast can do a great job. 1
Igor Posted February 3, 2017 Posted February 3, 2017 xactly, which one? I need my board to send files. The easiest way is to use WiFi network, but I have an enviroment without router (those are requirements of my product - sending files even if there is no internet). First way was Bluetooth, then WiFi-Direct. Both have problems to implement. If there will be other way - you will save my life :-) By the way - InfraRed is to slow for me. Perhaps something like this: http://www.dx.com/p/arduino-apc220-wireless-rf-modules-w-antennas-usb-converter-143011#.WJRDf1UrLAQ But since I don't have any real world experiences I am only guessing.
abramq Posted February 3, 2017 Author Posted February 3, 2017 Nice unit, but limited solution - needs both have this. In my product SBC sends files, but on the other side is unit user just have (smartphone, tablet etc).
Igor Posted February 3, 2017 Posted February 3, 2017 Than you don't have much choices except Bluetooth and WiFi direct. In both cases expect troubles and stick to modern kernel, where you have more chances of success. For example: I can use BT keyboard and mouse nicely with Cubietruck running kernel 4.9.7 ... I didn't test sending and receiving files to mobile phone. 1
arox Posted February 3, 2017 Posted February 3, 2017 WiFi. Ofc not directly interchangeable. In my experience, wifi has always be unreliable and a waste of power. I think there is some nonsense with wifi : you cannot have middle range and high bandwidth networks on an overcrowded frequency. What we need is what bluetooth should become : LE/AMP/mesh. LE stand for low energy : having the capacity to transmit small messages or rest in standby with very little power. AMP is the possibility to dynamically open a high bandwidth channel when needed. Mesh is the possibility to have a micro network of redundant nodes and links with short range / low power transmission, instead of interfering with others transmissions in wide areas as with wifi. Unfortunately, the specification for that has been more or less released. Which means that current implementation is a mess. In first versions, BT was supposed to be cheap (but reliable) technology for specific use cases ("profiles"). Now, adding LE/AMP/Mesh simply mean multiply complexity by 4. Nevertheless, at present you should be able to do wifi in ad hoc mode and use obex with bt ? I never tried wifi ad hoc and obex since bluez4. What are the problems ? 1
tkaiser Posted February 3, 2017 Posted February 3, 2017 stick to modern kernel Which requires hiring someone talented for a few weeks/months to finish CSI framework with mainline kernel 1
abramq Posted February 3, 2017 Author Posted February 3, 2017 Nevertheless, at present you should be able to do wifi in ad hoc mode and use obex with bt ? I never tried wifi ad hoc and obex since bluez4. What are the problems ? To make real test I need some units, Now I am on "research" stage. I have not so much money to buy many diffrent models of SBC and test which is most suitable, so I only read specs and forums, to find out what is wortwhile. The opinions of manufacturer forum had for me crucial meaning: http://www.friendlyarm.com/Forum/viewtopic.php?f=47&t=446#p1448 http://www.friendlyarm.com/Forum/viewtopic.php?f=47&t=451#p1465 As I said, I decided to order NanoPi Neo Air anyway, to try what can be possible. P.S. I also ordered OrangePi Lite. Does anybody know how to get on their forum? I've registered myself there a week ago and stll have status "waiting for member veryfication"... :-( Did someone registered there?
Igor Posted February 3, 2017 Posted February 3, 2017 I have not so much money to buy many diffrent models of SBC Hardware is dirt cheap while "free" software can cost you some money. Luckily, if you start with Armbian, your basic things are covered - you already saved yourself hundreds of hours and dollars. That's our main advantage - you don't need to start from a pile of junk (Allwinner stock SDK) or spaghetti tutorials. Does anybody know how to get on their forum? Why? You are wasting time. Forum is more or less inactive and their official support, just not worth the trouble creating forum username. Which requires hiring someone talented for a few weeks/months to finish CSI framework with mainline kernel Still better than fixing legacy kernel where those things also doesn't work.
abramq Posted February 3, 2017 Author Posted February 3, 2017 Hardware is dirt cheap while "free" software can cost you some money. Luckily, if you start with Armbian, your basic things are covered - you already saved yourself hundreds of hours and dollars. That's our main advantage - you don't need to start from a pile of junk (Allwinner stock SDK) or spaghetti tutorials.I feel encouraged :-) Why? You are wasting time. Forum is more or less inactive and their official support, just not worth the trouble creating forum username.Good to know. You think NanoPi is good choice? I was wondering about all options, even Raspberry Pi 3 with camera module (and BT is built-in), but I realy not need so many features as it has.
Igor Posted February 3, 2017 Posted February 3, 2017 Good to know. You think NanoPi is good choice? I was wondering about all options, even Raspberry Pi 3 with camera module (and BT is built-in), but I realy not need so many features as it has. NanoPi is a good choice but AFAIK CSI camera, if you need that, is not yet supported in modern kernel.
abramq Posted February 3, 2017 Author Posted February 3, 2017 Ok, thank you and thank you for everybody for your time and all the answers!
tkaiser Posted February 3, 2017 Posted February 3, 2017 Still better than fixing legacy kernel where those things also doesn't work. Camera 'works' even with video on various Allwinner boards with legacy kernel. Custom google powered search for '@lex camera' is maybe the best way to explore the various supported devices (@abramq: various Allwinner boards featuring different SoCs all features a 24 pin FPC CSI connector but pinouts are different between vendors) Though an absolutely stupid move but if we would support the CHIP and add a legacy variant to Armbian's build system, CSI cameras could be used with the CHIP. But who is stupid enough to do unpaid work on the CHIP? And NextThing isn't stupid enough to pay more than absolutely necessary to get some good press and basic support for some missing R8/A13 features. Could this be also called an Chicken-egg problem?
abramq Posted February 3, 2017 Author Posted February 3, 2017 Camera 'works' even with video on various Allwinner boards with legacy kernel. Custom google powered search for '@lex camera' is maybe the best way to explore the various supported devices (@abramq: various Allwinner boards featuring different SoCs all features a 24 pin FPC CSI connector but pinouts are different between vendors)I have seen, that CSI could NOT be seen as a standard, every board needs it's own camera module. Worst - there could be two diffrent models V500A and V500B for the same board and you have to know which to buy;-) ) The set of OrangePi Lite + it's camera module is most cheap, thats why I was decided, camera module for NanoPi is double price, similar camera module for Raspberry Pi. Though an absolutely stupid move but if we would support the CHIP and add a legacy variant to Armbian's build system, CSI cameras could be used with the CHIP. But who is stupid enough to do unpaid work on the CHIP? And NextThing isn't stupid enough to pay more than absolutely necessary to get some good press and basic support for some missing R8/A13 features. Could this be also called an Chicken-egg problem? Maybe one day...:-) But I/m affraid even if it will work - it will work only with one model of camera module - I wonder which one ;-) By the way - I ask out of curiosity - what would it be an order of magnitude to finance such work?
richardk Posted February 3, 2017 Posted February 3, 2017 (Not an armbian-supported board, but FYI my company is having tremendous success with the Beaglebone Black. Hundreds of deployments, 24x7x365 uptime, trouble-free.)
abramq Posted February 3, 2017 Author Posted February 3, 2017 (Not an armbian-supported board, but FYI my company is having tremendous success with the Beaglebone Black. Hundreds of deployments, 24x7x365 uptime, trouble-free.)Good to hear! :-) Is there posibility to connect camera module (not USB) and succesfully use BT / WiFi?
Recommended Posts