Posts

Showing posts with the label Java

[IoT] OPEN THE DOOR スマホでドアを開ける [ESP8266]Wi-Fiモジュール [arduino IDE]

Image
背景 会社の事務所の玄関ドアがめっちゃ古くてICカードも使えず鍵しか使えない、あるいはインタホンで室内の人呼び出し、ドアを開けてあげる。今Iotの時代がやって来て、こんなに面倒な入室システムは時代に遅れている、改造していきたいと思います。(物理的な破壊ぜず、今の入室システム影響無いように改造する)。 設計 ユースケース:入室しようとする人が玄関でルーム番号入力し「呼び出す」を押すと室内のインタホンが鳴り始めて、受話器を取って解除ボタンを押してドアが開く。 受話器の取り上げと解除ボタンの押下を自動的にすれば、実現できるはずです。 システム設計図: 機械調達 社内サーバーを用意します。 ebayにて購入したESP8266マイコンボードも無事に届きました。 コントローラーの設計 部品: ESP8266ボード X 1 基盤X1 トランジスター(NPN) X 2 5Vリレー X 2 ジャンパーワイヤー 若干 回路図: 半田付け後実物: ESP8266ボードの開発: usbシリアル変換ドライバのインストール、ARDUINO IDEのインストール、ESP8266ボードの追加など略にします。(GOOGLEで検索すれば、出るはずです。) ソースコード: #include #include const char* ssid = "xxxxxxxxxxx"; const char* password = "xxxxxxxxx"; WiFiUDP Udp; unsigned int localUdpPort = 4242; // local port to listen on char incomingPacket[255]; // buffer for incoming packets char replyPacket[] = "Hi there! Got the message :-)"; // a reply string to send back void setup() { Serial.begin(115200); delay(10); // prepare GPIO2 pinM...

How To Install JDK on FreeBSD

To install OpenJDK® 8 package use the pkg utility: $ sudo pkg install openjdk8 Updating FreeBSD repository catalogue... FreeBSD repository is up to date. All repositories are up to date. The following 31 package(s) will be affected (of 0 checked): New packages to be INSTALLED: openjdk8: 8.144.1 libXtst: 1.2.3 recordproto: 1.14.2 libXi: 1.7.9,1 xproto: 7.0.31 libXfixes: 5.0.3 libX11: 1.6.5,1 libxcb: 1.12_2 libXdmcp: 1.1.2 libXau: 1.0.8_3 libpthread-stubs: 0.4 kbproto: 1.0.7 fixesproto: 5.0 libXext: 1.3.3_1,1 xextproto: 7.3.0 inputproto: 2.3.2 libXrender: 0.9.10 renderproto: 0.11.1 libXt: 1.1.5,1 libSM: 1.2.2_3,1 libICE: 1.0.9_1,1 fontconfig: 2.12.1,1 freetype2: 2.8 dejavu: 2.37 mkfontscale: 1.1.2 libfontenc: 1.1.3_1 mkfontdir: 1.0.7 javavmwrapper: 2.5_2 ja...

Java UDP BroadCating.

sample code: public class BroadcastingClient { private static DatagramSocket socket = null; public static void main(String[] args) throws IOException { broadcast("Hello", InetAddress.getByName("255.255.255.255")); } public static void broadcast( String broadcastMessage, InetAddress address) throws IOException { socket = new DatagramSocket(); socket.setBroadcast(true); byte[] buffer = broadcastMessage.getBytes(); DatagramPacket packet = new DatagramPacket(buffer, buffer.length, address, 4445); socket.send(packet); socket.close(); } } list broadcast address: List<InetAddress> listAllBroadcastAddresses() throws SocketException { List<InetAddress> broadcastList = new ArrayList<InetAddress>(); Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces(); while (interfaces.hasMoreElements()) { ...

ANT tutorial (Ant is a Java-based build tool)

1. Ant 的最小构成 build.xml <?xml version="1.0" encoding="utf-8" ?> <project> </project> 在build.xml同一目录下,运行ant. D:\ant>ant Buildfile: build.xml BUILD SUCCESSFUL Total time: 0 seconds Congratulations!!! Your first ant program completed successfully! 1.尝试在屏幕上打印一些信息 我们在项目中用ant的时候经常会看到先会在屏幕上打印出很多信息。 tag:target 我们来做这个例子 <?xml version="1.0" encoding="utf-8" ?> <project default="help"> <target name="help"> <echo message="    ノ⌒ヽ、_ノ⌒ヽ、_ノ⌒ヽ、_ノ⌒ヽ、_ノ⌒ヽ、"/> <echo message="  /                            )"/> <echo message="  (                            /"/> <echo message="  )         でろでろ          ("/> <echo message="  /                          )"/> <echo message=" (                           /"/> <echo message="  ⌒|/⌒ヽ、_ノ⌒ヽ、_ノ⌒ヽ、_ノ⌒ヽ、_ノ"/> </target> </pro...