Skip to main content

Build an Android app to control a Q7 Camera P2P WIFI

This tutorial will teach you how to build an Android app to control a Q7 Camera P2P WIFI using the Android Studio development environment.

Start a new project


I create a new project with application name "Q7Camera". During the wizard i add a basic activity.

Import native libraries and sources

To control the camera you need the libraries at this link: https://github.com/brusdev/q7cam/tree/master/app/src/main/jniLibs/armeabi. Copy the previous library in the path "app/src/main/jniLibs/armeabi" of your project. The packages to import are x1.Studio.Core at https://github.com/brusdev/q7cam/tree/master/app/src/main/java/x1/Studio/Core and com.microembed.sccodec at https://github.com/brusdev/q7cam/tree/master/app/src/main/java/com/microembed/sccodec.


Edit the manifest

To use the native libraries you need to add the following permissions to the manifest:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


Edit the activity layout

I add the following sv to the activity layout to show the camera:
<SurfaceView android:id="@+id/surfaceView_video" android:layout_width="match_parent" android:layout_height="match_parent" />

Edit the activity source

To show the camera in an activity, it needs to implements the interfaces SurfaceHolder.Callback and IVideoDataCallBack, you can find an example here: https://github.com/brusdev/q7cam/blob/master/app/src/main/java/com/brusdev/q7cam/MainActivity.java.


Repository

You can find the repository with the complete example here: https://github.com/brusdev/q7cam.

Comments

  1. Hello, try the app and it reports these errors in the LOGCAST:

    W/linker: /data/app/com.brusdev.q7cam-2/lib/arm/libSCCodec.so has text relocations. This is
    wasting memory and prevents security hardening. Please fix.
    W/linker: /data/app/com.brusdev.q7cam-2/lib/arm/libchinalink.so has text relocations. This is wasting memory and prevents security hardening. Please fix.
    W/linker: /data/app/com.brusdev.q7cam-2/lib/arm/libsystem.so has text relocations. This is wasting memory and prevents security hardening. Please fix.

    any ideas ?

    thank you very much.

    ReplyDelete
  2. note: the app runs fine but does not show my q7 camera.

    ReplyDelete
  3. It was right here that the one zero roulette wheel became the premier sport, and over time was exported around the globe, besides in the United States the place the double zero wheel had remained dominant. The roulette wheels used in the casinos of Paris in the late 1790s had purple for the one zero and black for the double zero. To keep away from confusion, the colour green was chosen for the zeros in roulette 우리카지노 wheels beginning in the 1800s. Between two and 6 gamers are recommended to participate in Live Roulette video games. The bulk of casino tables seats no more than|not more than} seven gamers concurrently. In order to protect an equal taking part in} field, one of many online roulette gamers ought to assume the position of the dealer; we advocate that this particular person remain nameless.

    ReplyDelete

Post a Comment

Popular posts from this blog

IoT temperature sensor with ESP8266 using LWM2M (Eclipse Wakaama)

The sensor uses an ESP8266 board with the protocol Lightweight M2M to communicate the temperature read by DS18B20 to the gateway. The sources of the project are available on GitHub:  https://github.com/brusdev/smart-solar-heating-system/tree/master/sensor ESP8266 The ESP8266 is a low-cost Wi-Fi microchip with full TCP/IP stack and microcontroller capability produced by Espressif Systems. The avalability of same SDK allows the chip to be programmed, removing the need for a separate microcontroller. To program the microchip i use the SDK Arduino core for ESP8266 WiFi chip  and  PlatformIO , that is an open source ecosystem for IoT development. LwM2M Lightweight M2M is a protocol from the Open Mobile Alliance for M2M or IoT device management and communication. It uses CoAP, a light and compact protocol with an efficient resource data model, for the application layer communication between LWM2M Servers and LWM2M Clients. Each service on a constrained device/sensor/actor is

Smart solar water heating solution to take part in the Open IoT Challenge 4.0!

Smart solar water heating solution uses IoT and AI technologies to improve the efficiency of passive solar water heating system. This solution is designed to take part in the Open IoT Challenge 4.0! Solar water heating Solar water heating (SWH) is the conversion of sunlight into heat for water heating using a solar thermal collector. Solar water heating systems include storage tanks and solar collectors. There are two types of solar water heating systems: active, which have circulating pumps and controls, and passive, which don't. Passive solar water heating systems are typically less expensive than active systems, but they're usually not as efficient. However, passive systems can be more reliable and may last longer. The solar panels heat the water in the storage tank when they are affected by the sun rays. The water reaches the highest temperature when the sun is stronger. If the water in the solar panel is hot the divert valve close the flow towards the boiler s

Connect wan automatically at boot and after a disconnection on OpenWrt

OpenWrt is an open source project for embedded operating system based on Linux, primarily used on embedded devices to route network traffic. I install OpenWrt on my Netgear DGN3500, an ADSL2+ gateway with wireless acccess point integrated. Finally the wifi signal is strong but the internet connection does not go up at boot or after a disconnection. Found solutions I find the following solutions: to schedule the reboot and the reconnections by cron ( https://www.youtube.com/watch?v=PfqGr15D4JM ), to write a script to reconnect after a disconnection ( https://gist.github.com/navhaxs/8029bea3420cdbb11047 https://gist.github.com/ninadpchaudhari/6561841ffc3667b1e5ee ) or to insert the command "ifup wan" in the file "/etc/init.d/network". Recomended solution To take all the advantages of the previous solutions i write the script "wanup" to connect the wan and i call its at boot and after the disconnection. To call the script "wanup" at boot yo