How to fix slow scan rate in SocketMobile Scanner 7Ci? - socketscan

We've been using the socket scanner in our warehouse for scanning inventory items. We have an iPad application which connects to Socket Scanner to read data off barcodes.
Off late, the scanner is taking a long time to scan. The very first scan completes quickly as expected, but the subsequent scans take a long time ( usually 7-8 seconds). We restarted the scanner, unpaired and re-paired the scanner, did a factory reset, but the issue persists.
Socket Scanner Model: Socket Mobile 7Ci
Host Operating System: iOS 10.3.2
Is there any way to know what might be affecting the scan rate?
Also,
Please check the video which explains the issue in detail:
https://www.dropbox.com/s/dyzj5t7vseunw1y/VID-20170916-WA0001.mp4?dl=0

Apparently, when we did the Factory Reset, the Bluetooth on the iPad was ON and the scanner was connected. It beeped, but actually did not do a Factory Reset.
Looks like scanning Factory Rest Barcode is effective only when Bluetooth is off in the device ( And scanner disconnected from iPad). We switched off Bluetooth in the iPad and scanned the Factory Reset Barcode. The scanner played a music tone and switched itself off. When we powered it on scanned barcodes, there was no delay at all.
The trick is to do a Factory Reset of the device the right away.
Link for SocketMobile Manual:
http://www.socketmobile.com/docs/default-source/series-7/chs-1d-imager-user%27s-guide.pdf

Related

BLE CC2541 disconnect with the app after some time

I am working on CC2541 BLE controller. I am using SimpleBLEPeripheral from TI BLE stack which is available on TI's website. I have interfaced the controller with a sensor whose state changes at an interval of 3 seconds. This means that event is generated at every 3 seconds. I am using custom profile's UUID whose length is 128 bits. I have also developed an app to get the sensor's data on my app. All is working good but device is getting disconnected with the app after establishing a connection.
I also tried changing the Connection Parameter in firmware but the issue is not resolved yet.
What should I try to make this connection flawless? I want that device should not get disconnected when it is in range and also if the device is out of range for sometime, it should auto reconnect with the app when it comes in the range of the mobile phone.

how get the images from the flying drone to the phone or cloud

we are doing a project on image processing using a camera,raspberry pi3 and a gsm module. Above mentioned things are with a flying drone. I can send a notification message to a mobile using gsm module if required object detected on the cam. But we store that image to view on a webpage or through a mobile app easily. while it's flying it can't connect to the internet. So can you suggest a solution to get those images when it is inside our home wifi range.(any how we can get the images from sd card but i need to get those as soon as possible it detected the wifi) . Thanks in advance
You could consider using "tethering", a.k.a. "Personal Hotspot" in Apple parlance, on your mobile phone.
Basically, you would enable the Personal Hotspot on your iPhone and allow your RPi to connect to it via Wifi. You would have to check your setup, but my iPhone takes IP address 172.20.10.1 for itself and dishes out IP addresses to clients which are the same but with the 1 replaced by a small number under 13.
You can see from here how to setup your RPi to automagically connect to your Hotspot whenever in range. You could also consider fixing a static IP address when on that network, so you know where the RPi will show up for sure.
You would then ensure that Apache, or maybe lighttpd which is lighter weight, is running on your RPi.
Then, your app on the RPi would store its image as image.jpg in Apache's DOCUMENT_ROOT directory, probably /var/www/html/image.jpg but check.
Now, on the iPhone, start Safari and browse to:
http://172.20.10.N/image.jpg
where N is a small number. You should see your image and be able to save it to DropBox or Photos or iCloud Drive for others to see.
Of course, once your RPi is connected to your iPhone's hotspot, it can FTP or ssh copy the image to any website or other server on the Internet it has access to itself.
I have understood your question also I have cheapest solution to build your project. you will be needing 3 modules
ESP8266 (Wifi module)
SD card logger
Camera module(go with your choice, try ESP8266(But I have not tried it))
Combining all these can get your work done. But most instructing part is When connected with wifi it should transmit video to webpage or app and when not connected should log video to SD card
Below is my try to solve your problem, if you have any doubts feel free to ask your question.
ESP8266 is an WiFi module, you can connect it with an hot-spot or an router, similar to any WiFi device's on successful connection it throws 200,OK failing will throw 404 or so. Technically just like any TCP devices it will work. You can connect, disconnect, send and receive data continuously using software(using code you write).
0-code for camera unit starts
1-try connecting WiFi && start the camera and start logging into SD card //InCase if WiFi module takes longer time than usual to connect, this will prevent data from losing
2-if connection failed - continue writing to SD card
3-else(connection made) - start streaming the data && stop the SD card logging and save the file and create a new empty file so that we can save on next connection out without wasting data.
4-check for connection status in regular interval (goto step2).
5-on any external inputs(like click an image)
most important thing: code for your camera interface should work independent from the flight controller code.
-NandhaFrost

Serial Port not working on Surface Book

I have a Microsoft Surface Book that I've dual booted Linux Mint on. I'm writing a program that needs to read in data from a serial port, but my serial ports don't seem to be working. The behavior is consistent across Mint and Windows (Testing done through Cygwin). It gets a bit of data the first 2-5 seconds that the device is plugged in (viewing the data through screen, same thing happens if I just use pyserial to print data incoming from serial port), then nothing.
What could be happening? I think I've isolated the problem to the serial ports - the Surface Book has 2 USB ports and the same thing happens on both of them, and I've tested the hardware that I'm plugging into it on 2 other computers (One Linux and one Mac OS), and it works fine on both of those.
Your MS Surface, seemingly, has a yellow triangle exclamation mark icon (over the adapter icon) without any driver to install/download. And properties in the device status box window say This device cannot start. (Code 10) or A device which does not exist was specified. Right?
If it's so you should wait for an update from MS. It's notorious problem.
I ended up getting the computer replaced on warranty for an unrelated issue months later, and what do you know, on the new computer the serial ports work fine. That indicates to me some sort of hardware problem, given that the issue persisted across OS's.
maybe this will help:
see Arduino examples for serial port communication - search google:
arduino serial c++
arduino serial c#
arduino serial c++ linux
the point is to open port properly you need to open a file, not a port. not with usual c - assembly write to port code.
another option you are using an unintentionally bought fake USB to serial cable with a Fake PL2303 chip
then you need to install the old version of the driver.
search in google:
Fake PL2303 + your os name:
install driver Fake PL2303 windows 10
another option is maybe it conserves energy and closes the port because it feels it is unused.
in windows> device manager,> properties of a device - usually USB root hub > power management - allow the computer to turn off this device to save power - uncheck it.
https://superuser.com/questions/408683/why-my-usb-mouse-gets-suspended-after-3-seconds-of-inactivity
https://blogs.msdn.microsoft.com/usbcoreblog/2013/11/08/help-after-installing-windows-8-1-my-usb-device-doesnt-charge-or-it-disconnects-and-reconnects-frequently/
also, you could look in windows events - to see what happens. usually, failures like this are registered in the events log.
an unlikely option is it consumes too much current, like a short circuit. and the device protection circuit shuts the chip off. also probably it does not have such circuit. one possibility is to try with an external powered hub.
the most probable of these is the power saving mechanism
I was experiencing the same problem - came across the solution on another site. The USB 3 ports on Surface Book aren't compatible with something or other to do with Com Port but running the device through a cheap USB hub solved my problem straight away and it was instantly recognised by the Arduino IDE

Bluetooth Low Energy on different platforms

I'm trying to establish a bluetooth low energy link between a custom pcb and a mobile device. The application requires a tablet device and a BLE link that operates as fast as possible.
Since the BLE Speed is main defined by the allowed number of packages per connection interval and the minimal connection interval I'm trying to find a tablet with those capabilitys.
I have been searching a lot and just found the following information:
IOS device are stuck with a minimal connection interval of 30ms
Android devices are technically able to deliver 6 packets each 7.5ms, but usually it wont settle for anything below 20ms.
I find it very hard to get solid information on that topic. I found nothing about Windows Tablets and Tizen Tablets.
Does anyone have information about that topic?
You see, the standard Android bluetooth code is (with sometimes small adjustments by each manufacturers) the same on every device and the bluetooth controllers available on the market tend to only send 3-6 packets each connection event if the min/max connection event length is set to 0, which it is by default in Android's code.
Is it possible for you to work with AOSP, i.e. modify the Android source code? If so you could change the HCI call where a connection is created or connection parameters are updated. Change the min/max connection event length (Minimum_CE_Length and Maximum_CE_Length) to some large value and you will then be able to write many many packets in one connection event regardless of connection interval.
The relevant places in the code are https://android.googlesource.com/platform/system/bt/+/d35bb40dd563e7f37df0a2fa9c0f61d0958b9601/stack/l2cap/l2c_ble.c#945 and https://android.googlesource.com/platform/system/bt/+/488005b16bd2552ce7e5f9c1e1b3d4072397fc26/stack/btm/btm_ble_bgconn.cc#394.

How to connect to multiple SocketMobile Scanner (CHS 7Mi) at the same time in SPP Mode (C# Windows Forms, Socket ScanAPI SDK 10)

Is there a way to connect to multiple scanners at the same time in SPP Mode?
I am using the Socket ScanAPI SDK 10 (the ScanApiHelper class) in a C# Windows Forms Project as host.
I changed the serialport setting from ScanAPI to e.g. SerialPorts=COM3:;COM6: (inbound ports)
But only one scanner connects to the host. If i turn off one scanner the other one connects immediately. But connecting two scanners at the same time does not work. It seems both scanners are communicating over the same com port.
Also it does not work with the official Socket Scan 10 Software from www.socketmobile.com (i tested on Windows 7 and 8.1)
For posterity's sake, here is the complete answer.
The cause
By default, the CHS uses SDP to look for all incoming serial ports, but only attempts to connect to the first one. If the port is busy - i.e. another scanner is already connected - it gives up.
The solution
Caveat emptor: This solution has not been tested on the full range of Bluetooth stacks. It should work, but there may be side-effects. If you experience any, please report them to us.
Your CHS can be configured to try to connect to up to 8 different serial ports on the host device. Instead of quitting after failing to connect to the first serial port, in Scan Mode 1 the CHS will try the next serial port until it either finds a port it can connect to or it has tried all the ports it found using SDP.
1D scanners and 8Qi
Note: If you have a laser scanner, you will need to print out these barcodes to scan them.
Factory reset your scanner
Hover to reveal barcode
Enable SPP mode
Hover to reveal barcode
Enable Scan Mode 1
Hover to reveal barcode
2D scanners (excl. 8Qi)
Factory reset your scanner
Hover to reveal barcode
Enable SPP mode
Hover to reveal barcode
Enable Scan Mode 1
Hover to reveal barcode
Revert
Don't need Scan Mode 1 anymore? Scanning the factory reset barcode for your scanner will clear all settings and put your scanner back in the default mode.
The support from socketmobile told me to scan the barcode for "Scan Mode 1".
Now connecting to multiple scanners at the same time works perfectly

Resources