Produce Manual beep sound from Magellan 9800i scanner scale device using Microsoft Point of Services in C# - scale

Hello everyone here I'm stuck in this issue can you please help me out from this.
Here I'm using this device and I want to generate a beep sound manually from Magellan 9800i scanner/scale device.
I used Microsoft Point of Service to integrate this hardware device in my application.

The tone and bell commands are listed in Appendix D, Host Commands, in the Magellan 9800i Product Reference Guide.
One of 0x42,0x01,0x07.
Beep Good Read Tone 'B' 0x42
Force Good Read Tone 0x01
Bel 0x07
The Datalogic OPOS Service Objects User Manual page 35, 41 states that DR90000351 Datalogic UPOS DirectIO Commands has a complete list of DirectIO methods and implementation details.
Please contact Datalogic support to see if you can send those host commands using the DirectIO method.

Related

Advertising and connection establishment using nRF52 DK with nrf52832 chip on Segger Embedded studio

I want to know how to send out an advertisement with some specific user number and data such that a connection can be established using the the sdk 15.3.0.
could anyone suggest me what changes i need to make in the ble app beacon code given in the sdk examples.
Thanks
One idea would be to start with the ble_peripheral example of the Nordic SDK.
You can find the following two guides on their forum : https://devzone.nordicsemi.com/nordic/short-range-guides/b/bluetooth-low-energy/posts/ble-services-a-beginners-tutorial and https://devzone.nordicsemi.com/nordic/short-range-guides/b/bluetooth-low-energy/posts/ble-characteristics-a-beginners-tutorial
This explains how to build a custom service with a custom characteristic to handle read / write and notification of values from the embedded device to a BLE central device (e.g: smartphone).

Recommendations for MQTT with Arduino and Android Clients

I am fairly new to Arduino, and for a project I want to use an UNO to push/publish notifications to an MQTT broker, then have the broker push a notification to a subscribing Android app I am developing.
I have an ESP8266 for my Arduino incoming. I've done a fair bit of research but am having some trouble piecing things together. I've read articles with the Arduino as the subscriber, or as the server, or the Android as the publisher, but none for this specific implementation. What I (think) I know so far is:
1: Since this is just a fun DIY, test.mosquitto.org would suffice as a decent free broker. So for a #define mqtt_server field, it'd be test.mosquitto.org.
2: Programmatically, I can push notifications from my Arduino to this broker via an mqtt library such as PubSubClient.
3. In Android Studio, I can use an mqtt client (Paho?) to subscribe to the topics being pushed to the broker.
My questions at this point are:
Is there anything else I would need to install on the Arduino besides PubSubClient and the library for my ESP?
I saw that on some code examples, there were 'mqtt_password' and 'mqtt_user' fields. Do all brokers generate these fields, and if so, where can I access them from test.mosquitto.org.
Are there better brokers for a job like this (that are also free) or would mosquitto be enough? I'll only be sending short messages of < 100 characters, but do some brokers limit the amount of data they receive/send?
I just need a jump start in understanding the overall architecture. As usual, any help is appreciated.
Is there anything else I would need to install on the Arduino besides
PubSubClient and the library for my ESP?
You are on the right way... if your Arduino libs are working then you can pub topics and see if the broker can deal with it (I suggest to use mqttFx as a client and subs to those topics too)
I saw that on some code examples, there were 'mqtt_password' and
'mqtt_user' fields. Do all brokers generate these fields, and if so,
where can I access them from test.mosquitto.org.
every broker can deal with anonymous clients, M2m.eclipse.org is one of those...
Are there better brokers for a job like this (that are also free) or
would mosquitto be enough? I'll only be sending short messages of <
100 characters, but do some brokers limit the amount of data they
receive/send?
yes, you can search in the web for those, I have been playing with:
HiveQM: broker.mqttdashboard.com
and
Eclipse: iot.eclipse.org
and they allow you more or lesss the same features you need for the test...
For the andoir part, Paho is a pretty good way to go...
but fisrt step fisrt, pub things with arduino and check that the broker is understanding you + that another client(mqttfx) can get the info and send you something too :)

ble peripheral coded for exclusive central / master use

Being somewhat of a newbie I was wondering if there is a way to hard-code something on a peripheral that would only allow a single unique central/master to connect.....?
i.e. / eg
I have the ‘simple chat’ Arduino app on a RedBearLab Blend-Micro (which is for all intensive purposes the same as a Arduino Uno with a BLE shield) and I only want one single / unique phone to BE ABLE TO connect with it and therefore work with it.
My understanding is that the GAP handles security features during a BLE connection.
Therefore, is there some way to ‘code’ the peripheral device in / below one of the following includes:
spi.h ?
boards.h ?
EEPROM.h ?
RBL_nRF8001.h (or similar) ?
Other?
Didn't quite get an answer from Restricting the BLE peripheral device to connect to only one Master
OR
Am I stuck with EVERYTHING connecting but coding the peripheral in some other way in a GATT profile (I think) to ONLY do something with a predefined unique central/master (how/where to code?).
Many thanks for thoughts in advance
Being somewhat of a newbie I was wondering if there is a way to hard-code something on a peripheral that would only allow a single unique central/master to connect.....?
Theres the "Advertising Filter Policy" as specified in the Bluetooth Core V4.0 specification. Its a Byte in the Advertising Parameters as specified in Section 7.8.5 LE Set Advertising Parameters Command.
For example the value 0x02 reads Allow Scan Request from Any, Allow Connect Request from White List Only.
Then theres section 7.8.16 LE Add Device To White List Command.
That said, if your device confirms to the Bluetooth 4.0 specification, it should support these HCI commands. However there might be functions that simplify these procedures, wrapping those HCI commands for easier use. Check the Documentation of your device for such methods.
Good Luck!
I was asked to answer this question via email. It's been almost a year since I quit working on BLE. So I only answer this question based on my memories.
Basically #dominik has it right.
If the device is freshly new, it should advertise normally (without setting the whitelist only bit), then any central device could connect and bond. Once it is bonded, you should save this bonded flag and the bonded master's bd_addr to EEPROM. If the next time the master is lost, you will advertise with that white-list-only flag set. If a new central tries to connect, you could verify if its address is the same as your master.
I don't have the BLE spec at hand and I kind of forgot a lot about BLE already. Probably the spec says somewhere that if a central sees a peripheral device is broadcasting with white-list-only flag set, it wouldn't try to connect if it doesn't recognize that peripheral device. This saves both some effort.
But a master could always initiate a connection to your peripheral device regardless the white-list-only flag. So checking if the connecting central device's address is the same as your previously bonded master is the last resort.
[Update]
I used CSR1010 chips. I remembered that the BLE stack actually allows me to insert a list of bd_addr to the white-list data structure maintained by the stack. Then, with the white-list-only flag set, the lower-level stack layer will help you filter devices that are not in that white-list without your knowing.
However, you can always filter bd_addrs from your application code.

TI sensor tag clone

I'm planning to design a custom sensor tag using a CC2540 ibeacon module and IMU unit. Can I burn TI's sensor tag firmware directly to the ibeacon module without doing changes to the source code, or do I have to configure I2C communication part in the source code? If so please let me know how to do it.
Regards.
ibeacon module I'm using
IMU sensor I'm planning to intergrate
Do you have any more information about the iBeacon module you're using. It's hard to tell if it's set up so you can plug n play sensors. The information in the product description is not very helpful.
It looks like the iBeacon module you're using is relying on the System-on-Chip solution that the CC2540 provides. If this is true in order to modify the source you'll need the IAR 8051 Compiler which requires purchasing a license at around $3,000 US dollars.
It's hard to say for certain without more information about that module. Do you have a spec sheet for that module?
You should use a Light Blue Bean instead of that module. It has iBeacon mode options available from the start. https://punchthrough.com/bean/ibeacon-setup/
It is programmable with the Arduino IDE, with over the air updates. So you won't have to deconstruct your project to reprogram it, and you won't have to buy the IAR compiler either. The Beans even have the I2C communication busses built in, as well as an onboard accelerometer! https://punchthrough.com/bean/arduino-users-guide/

beginner in GSM: develop GSM locator

i'm a beginner, and i trying build a GSM embedded device that could send SMS to a mobile phone, so that the phone can locate the location of the device.
I have searched this website for similar topic, what come to me is triangulation calculation.
My question is how do i know which tower the GSM device is near to, and how to connect to these three tower to calculate the location?
In order to do cell triangulation, you need to know the geographic position of the cell towers.
Either you undertake a huge effort to build a cell tower inventory or you are the network operator. In practice, only the network operators render this service, some allowing to query locations via an interface. However, this is not standardized.
you have to purchase GSM module. connect it with microcontroller
read at commands provided by manufacturer first.
there is a AT command for your application
try searching following in datasheet:
AT+CREG.
first configure module using this command.(refer your datasheet of gsm module).
then turn on engineering mode using command:
AT+QENG=2,1. (refer datasheet)
now it will give you automatically ncell,bcch,dbm,bsic,c1,c2,mcc,mnc,lac & cellid
it will give you this periodically or by query according to your command.
there are many websites that can triangulate device feeding them this info
i.e. opencellid.org/
i hope this helps!

Resources