Duplicate USB Key Software - Donglify

A dongle is a peripheral device that is plugged into the open port of your laptop/computer to help you transfer the important to a place that is much secure. Securing the important files of your organization is very important and by using, a dongle that is an essential device, which helps you to protect your important data.

 However, there are times when you need to give the copies of those files to your employee for that reason it is important to know how to make protected copies of your file, which would permit the users to access the document through validation as this will allow the employees to view the data or make modification if necessary.  Also, it is important to create copies of dongle just in case the device got damaged so you can recover the files easily.

Here is a complete guide for you to know what dongle is? How it is supposed to work and how you can make copies to secure your files? 

What is a USB Dongle and what it does?

A dongle is an adapter that connects to the computer to secure and protect the files an also performs the function to authenticate the user of the device.

Here is how a dongle works; when a programing function starts, it reaches for the dongle to attain the security code to proceed with its operation.

Making a duplicate of the Dongle

The most suitable and apt way to replicate a dongle or security key is a software called Dognify. Special software that will let you share the dongle to other networks. Donglify eliminates the necessity of any additional hardware device to share dongles across networks. It enables the dongle to work implicitly so that it can be accessed remotely to any computer that is not even connected to it. Donglify provides a secure method to single-handedly duplicate the software and allow access to over a network.

f:id:OliverSpace:20191209205421p:plain

USB Dongles can be duplicated in following ways through Donglify:

  • The unique feature Multiconnect allows the users to use USB dongles to make copies for more than one computer at the same time. This function is currently accessible only for HASP HL ​​Pro, Sentinel HL Pro, SafeNet eToken 5110, and CodeMeter CmStick security keys.

  • Secure software that enables access to dongles from remote computers

 

Using Donglify is an outstanding solution when you want to access to a USB security key through remote computer. Also, you can use Flexihub - another software that performs similar function only it doesn’t consist of multi connect features.

 

 

 

 

 

 

USB switch: what is USB switch, USB switch explained | USB switch interface

What is USB Switch, and where can you use it. Full guide about USB hardware for sharing USB devices between several computers.

 

WHAT IS USB SWITCH?

USB switch is the USB hardware for sharing USB devices among computers without networking of those devices. USB switch allows sharing devices without plugging in the device to one computer, then unplugging it and plugging into another machine in order to use it on them all. With just a touch of a button USB switch is instantly available for any computer connected to it.

f:id:OliverSpace:20191107182206j:plain



Types of USB switches:

There is a great variety of USB switches. Some switches are developed for two computers to share one USB device. Such switches are targeted on home users sharing a printer or a scanner. Some switches can support up to four computers and have an outgoing port for one USB device. And some switches can let you share four USB devices among four computers.

 

USB hub or USB switch?

USB hub is exactly the opposite of USB switch. Thanks to a hub one computer can access lots of devices without them being connected to it. This is very handy when you need to work with multiple devices without any delays and interruptions.

 

Did you know?

USB Network Gate software can help you share USB devices among many computers without any additional hardware.

f:id:OliverSpace:20191107182255j:plain

 

Proteusで仮想シリアルポートを使用する

物語
Proteus、電気回路をシミュレートするために開発者やエンジニアが好む広く使用されているアプリケーションです。Proteus、マイクロプロセッサやマイクロコントローラなどのプログラム可能なデバイスをモデリングおよび設計するときによく使用されます。

EltimaのVirtual Serial Port Driverソフトウェアを使用して、Proteusで仮想シリアルインターフェイスを作成する方法を示すこの短いチュートリアルを紹介します。

デモでは、マイクロコントローラーアプリケーションの機能をテストします。 「ホストプログラム」を使用して、UART通信プロトコルを介してデータをマイクロコントローラーに送信します。マイクロコントローラをコンピュータに接続するために、UART-COMコンバータであるMAX232チップを使用してこの通信を実現することを選択しました。

プロテウスの使用方法

Proteus、マイクロコントローラーとコンピューター間の通信を検証するための最適なツールです。 RXDとTXDを接続するシリアルポートモデルを追加して、マイクロコントローラーに送信されたデータがコンピューターに返送されるようにします。これにより、Proteusがシリアル通信を確立できることが確認されます。

Proteus内に、物理ポートとの通信をシミュレートできる仮想シリアルポートを作成するネイティブ機能があれば便利です。その場合、シリアルポートターミナルを使用してホストプログラムとして機能し、Proteusでデバイスシミュレーションを実行して接続を評価できます。ただし、Proteusで仮想シリアルポートを作成する場合は、追加のソフトウェアを使用する必要があります。

Proteusは、COMPIMと呼ばれるリソースを使用してCOMポートモデルと対話します。

f:id:OliverSpace:20190917174054j:plain

プロテウスのCOMPIMとは何ですか?
COMPIMは、Proteusの物理COMインターフェイスをモデル化するために使用されます。シリアル信号をキャプチャしてバッファリングし、電気回路に提示します。コンピューターのシリアルポートは、CPUまたはUARTモデルから発信されるすべてのシリアルデータを実行するために使用されます。

仮想シリアルポートは、いくつかの技術的な回避策を使用して、USBまたはBluetooth接続を使用して作成することもできます。 COMPIMモデルを使用すると、ボーレートの変換が可能です。デバイスの仮想および物理特性の検証は、オプションのハードウェアをソフトウェアに追加することで実装できます。

Proteusを使用する2つの方法
“host program” <-> “COM port” <->  Proteusのデバイスモデル機能をテストするには、これら2つの方法のいずれかを使用します。

  • シリアルポートを介して接続された2台のコンピューターを使用します。 1台のマシンを使用してホストプログラムを実行し、もう1台のコンピューターでデバイスシミュレーションを実行します。
  • シリアルケーブルを使用して2つの物理ポートに接続します。1つはホストプログラムの実行場所で、もう1つはProteusで仮想ポートとして構成されます。

VMLAbAtmel Studioなど、他のシミュレーションツールも利用できますが、Proteusには商用ドライバーを使用できるという利点があります。また、物理シリアルインターフェイスをシミュレートするときのパフォーマンスが向上します。

シリアルポートを使用する場合、常に存在する問題は、最新のコンピューターとラップトップの大部分にこれらのインターフェイスがないことです。

USBドングルのエミュレート– HASPドングルエミュレータソフトウェアの紹介

長年にわたって、ソフトウェア開発者およびプロデューサーが使用するライセンス契約のユーザー数を特定の数に制限する方法は、より複雑になりました。コピー保護の目的は、個々の開発者と製造会社の知的財産権と金融投資を保護することです。

この保護を回避する方法は、他のユーザーにアプリケーションを配信できるメディアを複製することです。つまり、ソフトウェアをライセンスで指定されたものをはるかに超えて複製できます。

最も一般的な方法の1つは、ハードウェアキーまたはドングルを使用することです。これにより、ユーザーはアプリケーションをアクティブにでき、デバイスを使用せずにすべての機能をロック解除できます。さらに、ソフトウェアの海賊行為に対する優れた保護を提供します。

この記事では、ハードウェアセキュリティキーの使用の長所と短所を確認し、ドングルエミュレータを使用してそのキーをネットワーク内の複数のユーザーに配布する方法についても説明します。

USBキーエミュレーション用のソフトウェア

ソフトウェアUSBエミュレータは、ユーザーがセキュリティキーの仮想コピーを取得できることを意味します。これは、キーがネットワーク全体で使用され、任意のリモートロケーションからアクセスできることを意味します。ユーザーは、デバイスを使用するためにデバイスの近くにいる必要はありません。その一例がFlexiHubであり、Ethernet、LAN、WiFiなど、さまざまなIPベースのネットワークで動作します。

f:id:OliverSpace:20190911172215j:plain

FlexiHubは、セキュリティキーがUSBポートを介してリモートコンピューターに直接接続されているように見せることによって機能します。キーを複数のユーザーと共有し、デバイスに仮想的にアクセスできます。また、3ShapeとSigmaKeyドングルを共有することもできます。

USBドングルをエミュレートする方法

ドングルを使用するソフトウェアの種類は、特殊化される傾向があるため、より高価になります。ドングルが紛失した場合、それを交換するためにパッケージ全体を購入するコストを意味する可能性があります。ドングルエミュレーションのアイデアを支持する人々は、ドングルを交換するのにかかる数百ドルがエンドユーザーによる使用方法の理解不足に起因する不当な制限であると感じています。
  
最も初期のドングルソフトウェア保護は、デバイスを使用するために物理的にマシンに接続する必要があることを意味していました。その後、ソフトウェアをだまして起動させるハッカーがこれを回避しました。これに対する開発者の対応は、プログラムコードまたは補足タスクをドングル内に統合し、ユーザーがソフトウェアを実行できるようにするために不可欠なコンポーネントにすることでした。これは、マシンが単にドングルを登録するだけでは不十分であることを意味します。

ハッカーが最終的にこれらの新しいドングルを解読し、より新しく複雑な暗号化方法が必要になる可能性があります。

HASPドングルエミュレーター

f:id:OliverSpace:20190911172241j:plain

Aladdin HASPおよびSafe-Net HASP用のソフトウェアHASPエミュレーターを使用すると、ドングルをバックアップおよび仮想化できます。物理的なセキュリティキーがマシンに接続されているかのように、保護されたソフトウェアを実行できます。このツールは、パラレルHASPハードウェアキーとUSBドングルで動作します。このHASPキーエミュレータを使用すると、元のデバイスを損傷、紛失、盗難から保護できます。 Safe-Net HASPドングルエミュレータを使用すると、仮想マシン内から保護されたアプリケーションにアクセスできます。残念ながら、このソリューションではすべてのUSBキーがサポートされているわけではありません。

f:id:OliverSpace:20190911172300j:plain

Soft-Key Solutionsは、1998年以来、セキュリティキーユーザー向けのソリューションを提供しています。HASP、TimeHASP、NetHASP、MemoHASPなどのSafeNetのSentinel HLキーファミリ全体を含むSentinelドングルエミュレータを提供しています。このソフトウェアは、サポートされるプログラムの数に制限を課すことはなく、他のドングルに対して透過的です。物理セキュリティキーとそのエミュレーションは同時に使用できます。ソフトウェアまたは元のドライバーは変更されません。

Raspberry PI3とMovidius Neural Compute Stickを使用して、リアルタイムでグリッド外のオブジェクトを検出

これを進める前に、Movidius Neural Compute Stick(NCS)を使用して、ラズベリーの画像分類に関する以前のチュートリアルをご覧になることをお勧めします。(

Getting Started 3: Movidius Neural Compute Stick with Pi 3 Raspbian Stretch Desktop ( Image Classification ))

Movidius NCSを搭載したRaspberry Piでオブジェクト検出を実行するには、3つの手順が必要です。

開発ホストへのMovidius SDKのインストール(Fresh Installed Ubuntu 16.04);
SDLを使用してモデルのグラフファイルを生成します。そして
リアルタイムのオブジェクト検出を実行するPythonスクリプトの開発。
まず、NCSワークフローを示す下の図を見てみましょう。

f:id:OliverSpace:20190812201154p:plain


Movidius Neural Compute Stickのワークフロー(クレジット:Intel

A.トレーニング:これには2つの方法があります。 1つは、事前に訓練されたTensorFlow / Caffeモデルを使用することです。 TensorFlow / Caffeを強力なGPUで使用して、ネットワークをトレーニングすることもできます。

B.プロファイリング、チューニング、コンパイル:このステップでは、NCS SDKツールチェーンを使用してグラフファイルを生成します。 NCSはこのファイル形式のみをサポートしています。

C.プロトタイピング:Raspberry Stretch(Debianベース)を搭載したRaspberry Pi 3は、グラフファイルとNCSを使用するようになりました。 NCS APIは、グラフファイルをNCSに送信するために使用され、リアルタイムのビデオ予測を表示します。

このチュートリアルの要件:

A. Raspberry Pi、Piカメラ

B. Movidius NCS

C. Ubuntu 16.04を使用したスタンドアロンLinuxマシン

Raspberry PiとMovidius NCSを使用してオブジェクトを検出する実用的なプロトタイプを作成するために従う手順の完全な説明を次に示します。

1. Movidius NCS SDK(Ubuntuシステム)のインストール
I. Ubuntu 16.04の新規インストールまたはVirtual-Boxインストール

NCS SDKのインストールを選択したUbuntuシステムは、Movidiusプラットフォームでの開発専用に使用する必要があります。望まないのは、他の仮想Python環境またはOpenCVがインストールされ、他のアプリケーションで使用されていることです。これにより、ライブラリが不安定になり、PYTHONPATHシステム変数との競合が発生します。

このため、Ubuntuバージョン16.04の新規インストール、またはMovidius開発にのみ使用されるVirtual-boxシステムのインストールから始めるのが最善です。両方の方法の手順を以下に示します。

A. Ubuntu 16.04の新規インストール:(こちらをフォローしてください

B. VirtualBox Machine VMへのUbuntu 16.04のインストール:(こちらをご覧ください

VMメソッドを使用すると、いくつかの欠点が生じる可能性があります。他のアプリケーションが実行されているVMを使用すると、VMを介してGPUにアクセスできなくなります。別の考慮事項は、USBパススルーを実装する必要があることです。 VMはパススルーなしではハードウェアに直接アクセスできないため、NCSにアクセスできる方法を提供する必要があります。

USBパススルー設定については、次のリンクに従ってください:VMware USBパススルー

NCSを仮想マシンに接続したままにするには、USB2およびUSB3デバイスフィルターを作成する必要があります。これを行うには、「新しいUSBフィルターを追加」をクリックし、名前とベンダーIDに以下の形式を使用します。

  1. 名前:Movidius1、ベンダーID:03e7、その他のフィールド:空白
  2. 名前:Movidius2、ベンダーID:040e、その他のフィールド:空白

いずれかの方法を使用してUbuntu 16.04のインストールを完了したら、システムを更新する必要があります。次のコマンドを使用します。

sudo apt-get update && sudo apt-get upgrade


II。 UbuntuシステムでのNCS SDKのインストール

インテルは、NCS SDKをインストールする簡単なプロセスを作成しました。端末に次のコマンドを入力すると、ジョブが完了します。

sudo apt-get install git
cd〜
mkdir ncsproject
cd ncsproject
git clone https://github.com/movidius/ncsdk.git
git clone https://github.com/movidius/ncappzoo.git
cd〜/ ncsproject / ncsdk


インストールする
このプロセスは、ネットワークダウンロード速度とホストコンピューターの容量に基づいて、15〜30分かかります。

f:id:OliverSpace:20190812203021p:plain

ホストコンピューターへのMovidius SDKの正常なインストール(Ubuntu 16.04)

2. NCS接続の確認(デスクトップ/ラップトップ上)
オペレーティングシステムがNCSを認識していることを確認するには、ターミナルを開いてdmesgと入力します。成功した場合、次のような画面が表示されます。

f:id:OliverSpace:20190812203046p:plain

OSによるNCSの正常な認識

3. SDKのテスト(デスクトップ/ラップトップ)
ビルド済みの例をテストするには、次のコマンドを使用します。

cd ~/ncsproject/ncsdk
make examples


これには最大5分かかります。その間、メイクファイルが実行され、Githubからモデルとウェイトがダウンロードされます。それが完了すると、mvNCCompileプロシージャが実行されます。これについては、次のセクションで詳しく説明します。

APIおよびNCS接続が正しく実装されていることを確認する最終テストは、次のコマンドを使用して、事前に作成されたhello_ncs.pyスクリプトを実行することです。

cd ~/ncsproject/ncsdk/examples/apps
make all
cd hello_ncs_py
python hello_ncs.py
Hello NCS! Device opened normally.
**
Goodbye NCS! Device closed normally.
**NCS device working.

4.カスタムCaffe / Tensorflowモデルからグラフファイルを生成(デスクトップ/ラップトップ上)
IntelのSDKを使用すると、カスタムグラフを作成するための合理化されたプロセスがあります。 CaffeとTensorFlowのサポートを提供するmvNCCompileツールを使用します。

Caffeには次のコマンドライン引数を使用します。

mvNCCompile network.prototxt [-w network.caffemodel] [-s max_number_of_shaves] [-in input_node_name] [-on output_node_name] [-is input_width input_height] [-o output_graph_filename]


Tensorflowを使用している場合、これは次のコマンド形式です。

mvNCCompile network.meta [-s max_number_of_shaves] [-in input_node_name] [-on output_node_name] [-is input_width input_height] [-o output_graph_filename]


network.prototxt:Caffeネットワークファイルのパス/ファイル名

network.meta:TensorFlowネットワークファイルのパス/ファイル名

-w network.caffemodel:caffemodelファイルのパス/ファイル名

-s MaxNumberOfShaves:ネットワークレイヤーに使用するSHAVE(1、2、4、8、または12)(デフォルト値は1です。この値を使用すると、SHAVEを少なくすることで電力を節約できます。)

-in InputNodeNodeName:ここでは、prototxtファイル内の名前と一致する名前の入力レイヤーを指定できます)

-on OutputNodeName:このオプションにより、ユーザーは代替ネットワークエンドポイントを選択できます。デフォルトでは、出力テンソルを介してネットワークが処理されます。

-is InputWidth InputHeight:入力形状は重要であり、ネットワークの設計に一致する必要があります。

-o OutputGraphFilename:ファイル/パスが指定されていない場合、「graph」というデフォルトのファイル名を使用しますが、これはあまり説明的ではありません。作業ディレクトリにあります。

NCSのバッチサイズとチャネル数は、それぞれ1と3に設定されます。このチュートリアルの目的のために、CaffeでトレーニングされたSingle Shot Detector(SSD)を備えたMobileNetニューラルネットワークを使用しています。 Adrian Rosebrockは、チュートリアルネットワークでchuanqui305によってMS-COCOデータセットに関するトレーニングを受けたこのネットワークについて言及しています。カフェモデルをMovidius NCSで使用できるグラフファイルに変換するには、次のコマンドを使用します。

mvNCCompile models / MobileNetSSD_deploy.prototxt \
-w models / MobileNetSSD_deploy.caffemodel \

-s 12 -is 300 300 -o graph


5.リアルタイムオブジェクト検出用のPythonスクリプト(Raspberry Piの場合)
サンプルの使用方法の詳細については、Githubリポジトリhttps://github.com/Geo-Trackers/Movidius-NCS-RealTime-Object-Detectionにアクセスしてください。

(img 4)

NCSを使用してPiでスクリプトを実行中の予測結果

Thank you for the work of Suman Ghimire

Pixel Labsの共同創立者(https://www.pixelnetworks.net/pix-agri

TスキンのBle-wifiレンジエクステンダーの作成方法

前書き
こんにちは!このプロジェクトは、Tactigon Skin(T-Skin)の通信機能の拡張を説明するために設計されています。 Bluetooth Low Energyが提供する距離よりも長い距離で使用できるようにしたいと考えています。 UDPプロトコルを使用するRaspberry Pi Zero Wを使用して、WiFi経由でT-Skinからパーソナルコンピューターにデータを送信する予定です。 BLEモジュールを備えたNodeMCUを使用して、TactigonスキンにWiFiを使用して送信する能力を提供しました。
 
ハードウェアアーキテクチャ
私たちはこのプロジェクトで多くのハードウェアを使用しているため、写真が物事をまっすぐに保つのに役立つと考えました。

f:id:OliverSpace:20190807223553j:plain

Tactigonスキンは、Wi-Fi通信をネイティブでサポートしていません。 BLEモジュールを備えたNodeMCUを使用してRaspberry Pi(RPi)にデータを送信することで、この制限を回避しました。 Raspberryがホストするプライベートネットワークを使用します。これにより、RPiがネットワークアクセスポイントとして使用されるため、パブリックネットワークにアクセスする必要がなくなります。
 
アクセスポイントとしてRPiを構成する方法については、次のリンクを参照してください。Configure Access Point Mode

ソフトウェアアーキテクチャ
プロジェクトのインフラストラクチャが定義されたので、コンポーネントの動作を見てみましょう。
BLEからUDPノード

f:id:OliverSpace:20190807223526j:plain

BLEからUDPノード
T-Skinは、加速度計やジャイロスコープなどのセンサーからデータを収集します。この情報は、BLEを介してNodeMCUに送信するためのパケットを作成するために使用されます。
 
T-Skinは次のコードを使用してデータを収集します。

T_QUAT qMeter;
T_QData qData;
  
qData = qMeter.getQs();
roll = radToDegree(qData.roll - rollZero);
pitch = radToDegree(qData.pitch - pitchZero);
yaw = radToDegree(qData.yaw - yawZero);

 
最初に、qMeterおよびqData変数が定義されます。これらのオブジェクトは、T_QUATおよびT_QDataクラスを使用して構築されます。これらの変数は、ジャイロスコープからのクォータニオンデータを保持します。読み取られたデータは、qMeter.getQs()ステートメントで実行されます。次に、個別の変数を使用して、ロール、ピッチ、ヨーの値を保存します。
次に、UDP通信プロトコルを使用して、データをRaspberry Pi Zero Wに送信します。

WiFiUDP Udp;
unsigned int UDP_Port = 5000;
char* UDP_IP = "192.168.4.1";
char PacketBuffer[1024];
  
Udp.beginPacket(UDP_IP, UDP_Port);
Udp.write(PacketBuffer);
Udp.endPacket();

 
完全なデータパケットを受信すると、送信用のUDPパケットの作成に使用されます。受信者のポートとIPアドレスを定義すると、データが回線に書き込まれ、パケット送信手順が終了します。
接続が失敗した場合にできるだけ早く再接続を試みるようにNodeMCUを構成しました。
UDPからVCOM

f:id:OliverSpace:20190807223544j:plain

このシナリオでは、Raspberry Piをガジェットデバイスとして構成しました。これにより、PCはそれをシリアルポートデバイスとして識別し、通信を確立できます。このリンク:Serial Gadget Mode Configurationで同じ方法でデバイスを構成する方法を学ぶことができます。
継続的に実行されているPythonスクリプトは、UDPパケットを取得し、Raspberry PiのVirtual Serial Portに送信します。シリアルポートモニタープログラムを実行してPCのCOMポートに問い合わせると、Tactigon Skinによって収集されたデータストリームを確認できます。
このシステムの実際の例を次に示します。
結論
目標を達成し、かなり長い距離にわたってTactigonスキンを使用することができたため、このプロジェクトは成功したと考えています。 WiFi伝送を使用して、通信範囲を3メートルまたは4メートルから40メートル以上に増やすことができました。かなり違います!
この方法で通信を実装する場合、2つの主要な制限に直面します。 1つ目は、2.4 GHz帯域を使用した他の信号からの潜在的な干渉です。 Raspberry Pi Zero W Wi-Fiアンテナの最大範囲は、2番目の制限要因です。 LoRaやSigFoxなどの代替LPWANプロトコルを使用して、発生する可能性のある信号の問題を最小限に抑えることができます。
T-Skinの距離制限が解消されると、デバイスの機能レベルが大幅に向上します。ロボットデバイスをリモートで制御して、災害後の捜索および救助ミッションで使用したり、人命を危険にさらすことなく解体チームを支援したりできます。


コード
 
RPi_Tactigon_Extender.py
このコードは、起動時にRaspberry Pi Zero Wで自動的に実行されます。
 

#!/usr/bin/env python
#UDP SERVER CODE
#To run this script at boot you have te add the following to the /etc/rc.local file in sudo mode
#sudo python /path_to_this_script/script_name.py
#before the exit 0 directive
import os
import sys
import socket
import serial
import time

UDP_PORT = 5000
UDP_IP = '192.168.4.1' #IP address of the machine to whick this script will run
#small delay to ensure that everithing started up
time.sleep(10)

port = serial.Serial("/dev/ttyGS0", baudrate=115200, timeout=0.1)

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind*1

while *2; Serial.println(); Udp.begin(UDP_Port); //initialize UDP

}
void loop() {

//if wireless connection drops, try to reconnect to it

while (WiFi.status() != WL_CONNECTED) {

digitalWrite(LED_BUILTIN, HIGH);

delay(500);

Serial.print(".");

}
digitalWrite(LED_BUILTIN, LOW);

if (Serial.available()) {

//read one char at the time and store it to che progressive 'count' position in the buffer array

Serial.read(&PacketBuffer[count], 1);

//checking for carriage return and line feed chars

//replace carriage return (if for any reasons is present) with whitespace to avoid complications in the buffer processing by the receiver

if (PacketBuffer[count] == '\r') PacketBuffer[count] = ' '; 

else if (PacketBuffer[count] == '\n') {

//at this point the one buffer from BLE serial is completely processed PacketBuffer[count] = (char)0;  count = 0;

//reset counter flag = true; //complete data }

else {

//increment counter for next char read count++; 

}

}
if (flag) {

//start send data from [1] and not [0] due to how data is sent by the T-skin. //the data in [0] is treated by a serial read as a terminator char (char)0.

//if this data ends up in the buffer that we send the calid data after that char will be ignored //sending data from 2nd element is less time consuming that shifting all buffer

//Serial.println(&PacketBuffer[1]); //for debug

//here we send via UDP the data from BLE

Udp.beginPacket(UDP_IP, UDP_Port); Udp.write(&PacketBuffer[1]);

Udp.endPacket();

flag = false; //reset flag for next buffer

memset(PacketBuffer, (char)0, 1024); //set all buffer to 0

}

}

 

 

*1:UDP_IP, UDP_PORT

*2:port.in_waiting) <= 0):
data, addr = sock.recvfrom(1024) #store received data
#print(data) #for debug
port.write(data + '\n') #write received data from UDP to the emulated serial port
#if the input buffer of the serial port is NOT empty that means that the shutdown command has been received from the PC
os.system("shutdown now -h")

 

BLEtoUDP.ino
このコードはNodeMCUにフラッシュされます。

//SENDER

#include <ESP8266WiFi.h>

#include <WiFiUdp.h>
//UDP handle

WiFiUDP Udp;

unsigned int UDP_Port = 5000;

char* UDP_IP = "192.168.4.1"; //IP address of the RECEIVERchar PacketBuffer[1024]; //Buffer used for UDP data
//Wifi handle

const char* ssid = "YOUR_SSID"; 

const char* password = "YOUR_PASSWORD";

IPAddress ip(192, 168, 4, 2); //set a static IP for this deviceIPAddress gateway(192, 168, 4, 1);

IPAddress subnet(255, 255, 255, 0);
bool flag = false; //to handle complete read of BLE dataint count = 0;//counter for checking correct length of received buffer from BLE, starts from 0 to 19
void setup() {

memset(&PacketBuffer, (char)0, 1024); //set all buffer to 0 pinMode(LED_BUILTIN, OUTPUT); //LOW = WiFi connected;

HIGH = WiFi not connected digitalWrite(LED_BUILTIN, HIGH); Serial.begin(115200); //BLE serial WiFi.config(ip, gateway, subnet);

WiFi.mode(WIFI_STA); //station mode WiFi.begin(ssid, password);

Serial.println();

Serial.print("Wait for WiFi");

//wait for wireless connection

while (WiFi.status() != WL_CONNECTED) {

delay(500);

Serial.print(".");

}

digitalWrite(LED_BUILTIN, LOW);

Serial.println("");

Serial.println("WiFi connected");

Serial.println("IP address: " + WiFi.localIP().toString(

How to connect the SDR using virtual com ports

Around the World a huge amount of amateur radio. And there are standard questions and problems that we can encounter in the elementary stage.

I am going to discuss data related to connecting an SDR implementation with virtual serial ports. SDR is an acronym for software-defined radio. A characteristic of an SDR is that hardware components such as filters, amplifiers, modulators and the like are provided through software. There are times when creating a connection to an SDR requires the use of virtual COM ports.

Windows Console

For our example, we will use SDR-Radio.com.

A powerful platform for SDR users is SDRConsole version 3. It is a Windows console that provides SDR support for all users including the commercial, government, and amateur short-wave radio population. The developers of this application continually provide updates and add new features regularly.

No software license is required if you are a licensed short-wave listener or amateur radio operator. You will need to purchase a license if you intend to use the product commercially. Radios from most major manufacturers are supported as are basic soundcard radios such as those offered by Airspy and SoftRocks.

Serial Port Configuration

SDRConsole enables you to transmit data to logbooks or other third-party applications. This communication can be done through the serial port support built into the tool. Virtual serial ports, such as those created with Virtual Serial Port Driver (VSPD), as commonly used to enable this connectivity.

The third-party tool is connected to one end of a serial cable with SDRConsole at the other end. The peripheral program can send commands to the SDR program, perhaps instructing it to modify the mode or frequency. While in use for this connection you cannot use the port to interact with another radio.

The ports which will be opened are selected in a window of the SDRConsole. Ports are opened and closed by the app as you modify the values in the program’s display. Port status is presented in the main log file window.

Choose Port Selection in the program options (image):

f:id:OliverSpace:20190802221810j:plain

Protocol: in your logbook program select the Kenwood TS-2000 protocol.

Note: Only one COM port can be used for each program. You can get around this limitation by using Omni-Rig or a similar utility. Unless you use this type of extender you cannot connect to a third-party app and an external radio simultaneously.

Speed: When using virtual serial ports you can go with the default baud rate of 57,600. A hardware interface requires that the speed you choose matches that of the device at the other end of the connection. You can change speeds from within the program from a dropdown box at the top of its window.

 

 

 

仮想COMポートを使用してSDRを接続する方法

世界中のアマチュア無線が大量にあります。そして、私たちが小学校の段階で遭遇することができる標準的な質問と問題があります。

SDR実装と仮想シリアルポートの接続に関連するデータについて説明します。 SDRは、ソフトウェア無線の頭字語です。 SDRの特徴は、フィルター、アンプ、変調器などのハードウェアコンポーネントがソフトウェアによって提供されることです。 SDRへの接続を作成する際に仮想COMポートの使用が必要になる場合があります。

Windowsコンソール

この例では、SDR-Radio.comを使用します。

SDRユーザー向けの強力なプラットフォームはSDRConsoleバージョン3です。これは、コマーシャル、政府、およびアマチュアの短波ラジオ人口を含むすべてのユーザーにSDRサポートを提供するWindowsコンソールです。このアプリケーションの開発者は、継続的に更新を提供し、定期的に新しい機能を追加します。

ライセンスを取得した短波リスナーまたはアマチュア無線オペレーターの場合、ソフトウェアライセンスは不要です。製品を商用で使用する場合は、ライセンスを購入する必要があります。 AirspyやSoftRocksが提供するような基本的なサウンドカードラジオと同様、ほとんどの主要メーカーのラジオがサポートされています。

シリアルポート設定

SDRConsoleを使用すると、ログブックまたは他のサードパーティアプリケーションにデータを送信できます。この通信は、ツールに組み込まれたシリアルポートサポートを介して実行できます。この接続を有効にするために一般的に使用される(VSPD)で作成されたものなどの仮想シリアルポート。

サードパーティツールは、シリアルケーブルの一方の端にSDRConsoleで接続されます。周辺プログラムは、SDRプログラムにコマンドを送信して、モードまたは周波数を変更するよう指示することができます。この接続に使用中は、ポートを使用して別の無線と対話することはできません。

開くポートは、SDRConsoleのウィンドウで選択されます。プログラムの表示で値を変更すると、ポートはアプリによって開閉されます。ポートステータスは、メインログファイルウィンドウに表示されます。

プログラムオプションで[ポートの選択]を選択します(イメージ):

プロトコル:ログブックプログラムでKenwood TS-2000プロトコルを選択します。

注:各プログラムで使用できるCOMポートは1つだけです。 Omni-Rigまたは同様のユーティリティを使用して、この制限を回避できます。このタイプのエクステンダーを使用しない限り、サードパーティアプリと外部ラジオに同時に接続することはできません。

速度:仮想シリアルポートを使用する場合、デフォルトのボーレート57,600を使用できます。ハードウェアインターフェイスでは、選択した速度が接続先のデバイスの速度と一致する必要があります。ウィンドウの上部にあるドロップダウンボックスからプログラム内から速度を変更できます。