Disable flow control Iridium 9602 Transceiver - satellite

I am trying to set-up Iridium 9602 Transceiver. I am not using flow control and hand-shaking. By default the modem comes with flow control enabled. The developers guide shows the command to disable it. The command is:
AT&K0
But the issue is that I cannot talk to modem to issue the command as it is expecting flow control enabled which I don't have. Is there a way to simulate the flow control or is there any other mode that I can put the modem in so that it would accept the command.
Thanks
Issued the command to disable flow control but the modem does not accept any commands.

Related

Prevent edit in arduino ide to prevent cheating

I'm developing web based game based on Wemos d1 Mini, and for users to enter their wifi address so that it connect to WiFi, I have to provide the arduino sketch.
To avoid cheating, is there way to disable section of code to be edited or lock some variables so that it cannot be changed in arduino IDE?
Thanks in advance.
No, but you can provide other means of entering configuration data.
ESP can emulate EPROM, or you can read from Serial/LittleFS/SPIFFS before you establish a WiFi connection.
If the user has access to your source code, there's no "cheating", that's improving your code. :)
There are many ways to not have your user edit the sketch to enter WIFI credentials.
To name the most obvious
have them entered via serial interface
have them provided via a file on a SD card for example
have them entered using some kind of user interface
use WPS
about the anti-cheat stuff I suggest you do some further research how things can be approached. this cannot be answered given the provided information
You start by creating an access point with set SSID/password users should receive from you and you also create a web server to accept user's credentials for their WiFi network. You can do that using a GET string or create a page with fields.
Once credentials entered by the user you store it in flash or EEPROM or whatever facilities exists, and you reboot the device.
When device starts it checks the credentials and tries to connect, if it fails you go back to the access point and web server stage.

specifying connection on ESP8266 with AP and STA modes

I want to try to set up an ESP8266 (using the Arduino IDE) to occasionally connect to a wifi SSID to send telemetry back. I also would really like to be able to have it running a softAP for configuration/settings purposes. (i.e. so if you want to change internal settings in your code, you can connect directly to the device to access a web form to do so)
The problem is, I am not 100% sure how I know which is which when making an outgoing telemetry json query. I want it to go out on the STATION mode connection. Presumably in most cases the AP mode won't be connected, but there may be rare instances where both are connected at the same time. Thus how do I tell the device to specifically use the STA side of things when it needs to send data back over the internet?
I can't even seem to find any specific examples to ask if one or the other is connected. (you can poll WiFi.status() but - which one is it reporting?)
Any help is appreciated

GATT Profile for a BLE device (server) that switches on/off a LED

Not sure if to posted this on SO.
I'm looking at pretty simple BLE Device. It has a two LEDS (to simplify) that can be switched on or off.
While browsing the GATT profiles, i can't find which profile i should use. Most of them send something back (like a temerature) to the client (upon request).
I need the opposite: switch something on/off of the BLE decive (server). In my case, the client (a iPhone) would send a command to switch on/off LED-1 or LED -2.
What service profile i should use?
Thanks.
I'm using the nRF8001 development kit & nRF Studio for making the services.h
If the LED's are just to be turned on/off there probably isn't any specific profile that they belong to. You probably need to know the handle and write directly to the attribute some value that maps to on or off. Maybe you can figure it out by listing all attribute characteristics. (unfortunately I don't know how to do that specifically on the iPhone)
I noticed that you are using the nRF8001 development kit. So, first thing you need to check is whether the LEDs are connected to IO port of the micro-controller on the kit or directly connected to IO port on BLE chip.
If it connected to micro-controller on the kit then you need to program the kit to handle the received bluetooth data to control led. (It would have a high chance it is in this situation)
If it connected to BLE chip, it means you need to program the ble chip first.
Usually, useful GATT profiles are user specified. It means you need to define the profile yourself. And, I believe some part of the kit or the studio would allow you to do modifications to the profile.
There is only one default GATT profile you should use -- GAP which is to define the defaults like name of the ble device. The others usually are user self-defined profiles.

com0com intercept opos printer x is offline

We are trying to intercept data between pos and printer.
The problem we have ran into is the POS reports the printer x is offline when we connect it to com0com endpoint.
an instance of hyperterminal on each side of com0com endpoints do communicate with each other.
I never knew there was a way to detect if hardware was actually connected to the serial port. Normally I write to the com port regardless if there is a device listening. I know the pos uses opos as it's underlying way to communicate to the printer. What event is opos firing to notify the pos application to think the printer is offline? How does the hardware identify if a device is connected? Is there anyway to circumvent this event when using com0com?
OPOS follows three a step process: Open(), ClaimDevice(), and Enable. Calling Open() will cause the OPOS Common Control Object (OPOS CCO) to construct the vendor-provided device specific Service Object (SO), and it will then call the Open() method on the SO. This initializes the software, but probably will not attempt to talk to the device at this time.
ClaimDevice() negotiates with the SO to make sure the device is shareable and available to the app. It is at this time that the device could be reported offline. ClaimDevice() will raise an exception with a ResultCode indicating OPOS_E_OFFLINE.
Setting Enable to true, or performing print activities can fail the call if the device is offline. Someone might unplug the printer in the middle of printing, for example.
The SO is responsible for performing the negotiation and communication with the device. The vendor's provided OPOS installation package typically installs and configures the SO for you. But it is your responsibility to make sure the SO is properly configured to talk to the correct port and device. If it is not properly configured, you will get a device offline error when ClaimDevice() is called.

AT Commands CMGS return ERROR

I am using Prolink PSH300 HSUPA GSM Modem connect to my laptop and using tera term to test the connect.
First I entered AT it will response me OK
AT
OK
AT+CMGF=1
OK
AT+CMGS="+6581XXXXXX" (then I pressed enter error was returned)
ERROR
Sometime it won't return me error but just hang there no > return.
Could anybody advise me what to do?
In your port initialization I would suggest you add these two lines-
port.DiscardOutBuffer();
port.DiscardInBuffer();
These will do a PurgeComm native WIN32 call, that will be resetting the hardware flow control lines.
Also add DtrEnable/RtsEnable = true lines to before opening the port connection.
Scenario: My nokia mobile conected to pc over bluetooth link.
commands: at (result ok), at+Cmgf=1(ok), but at+cmgs="mob.no">"hello"ctrl+z (result +cms error 500). I solved it by making a small change to extra initialisation setting in bluetooth modem. How, i explain here.
conrol panel -> phone and modem -> selected the blue tooth modem -> click properties. In the dialog window that opens goto advance tabs and change the existing extra initialisation commands: from whatever existed to any of the following as mentioned in the website below:
cksaheb.blogspot.in/2011/03/extra-initialization-command-for-gprs.html. My problem for sending sms solved.
I have the same problem. you must check antena connection.
Your GSM can't fine the network.

Resources