& lt; code class = & quot; golpe & quot; & gt; maléfico @ lepeshka: ~ $ adb devices Lista de dispositivos conectados 64cb5c59 recuperación & lt; / código de & gt; pre> Monte sistema:
& lt; code class = & quot; golpe & quot; & gt; maléfico @ lepeshka: ~ $ adb shell mount -o rw -t ext4 /dev/block/platform/msm_sdcc.1/by-name/system / sistema & lt; / código & gt; pre> para agregar las líneas en /system/build.prop:
& lt; code class = & quot; golpe & quot; & gt; maléfico @ lepeshka: ~ concha & quot $ adb; echo \ & quot; persist.service.adb.enable = 1 \ & quot; & Gt; & gt; /system/build.prop" & Lt; / código de & gt; pre> Reboot:
& lt; code class = & quot; golpe & quot; & gt; maléfico @ lepeshka: ~ $ adb reboot & lt; / código de & gt; pre> Estamos a la espera para la carga, comprobar el estado de la ADB terminal:
& lt; code class = & quot; golpe & quot; & gt; maléfico @ lepeshka: ~ $ adb dispositivos Lista de dispositivos conectados 64cb5c59 dispositivo & lt; / código de & gt; pre> Bingo! La depuración es en, vamos a ver lo que tenemos pasando por el teléfono durante este plazo AndroidScreenCast utilizando Java Web Start y ver:
Este simkarty activación pantalla de Verizon, no tiene una tarjeta SIM, así que voy a omitir la activación, que actúa sobre las instrucciones:
en la pantalla de selección de idioma tocar constantemente pantalla inferior esquina izquierda (por encima de la llamada de emergencia), la esquina inferior derecha, inferior izquierda, inferior derecha, y el volumen + blockquote> A saber:
& lt; code class = & quot; golpe & quot; & gt; maléfico @ lepeshka: ~ $ adb grifo de entrada de shell octubre 1150 maléfico @ lepeshka: ~ $ grifo de entrada adb shell 710 1150 maléfico @ lepeshka: ~ $ adb grifo de entrada de shell octubre 1150 maléfico @ lepeshka: $ entrada adb shell ~ toque 710 1150 & lt; / código & gt; pre> A continuación, pulse el botón en el teléfono inteligente Vol arriba, ahora ver:
Ponga una marca de verificación y haga clic en Aceptar:
& lt; code class = & quot; golpe & quot; & gt; maléfico @ lepeshka: ~ toque $ entrada adb shell 50.600 maléfico @ lepeshka: ~ $ entrada adb shell toque 650 600 & lt; / código de & gt; pre>
Svaypaem para desbloquear la pantalla:
& lt; code class = & quot; golpe & quot; & gt; maléfico @ lepeshka: golpe ~ $ adb shell de entrada 100 100 500 100 & lt; / código de & gt; pre>
Ahora tiene que poner un poco de vnc-server para Android, por ejemplo, Android VNC servidor . Instálelo en su teléfono inteligente:
& lt; code class = & quot; golpe & quot; & gt; maléfico @ lepeshka: ~ $ adb install droide + VNC + servidor + v1.1RC0.apk 4055 KB / s (2.084.419 bytes en 0.501s) pkg: / data / local /tmp/droid+VNC+server+v1.1RC0.apk Éxito & lt; / código de & gt; pre> Nos despiertan teléfono inteligente, ya que es probable que caiga dormido hasta que nos instalamos vnc-server y svaypaem, que desbloquear la pantalla:
& lt; code class = & quot; golpe & quot; & gt; maléfico @ lepeshka: ~ $ entrada adb shell KeyEvent 26 maléfico @ lepeshka: ~ $ golpe de entrada adb shell 100 100 500 100 & lt; / código de & gt; pre> vnc Ejecutar -server:
& lt; code class = & quot; golpe & quot; & gt; maléfico @ lepeshka: ~ $ adb shell am iniciar -a -n android.intent.action.Main org.onaips.vnc / .MainActivity & lt; / código de & gt; pre>
Haga clic en Aceptar:
& lt; code class = & quot; golpe & quot; & gt; maléfico @ lepeshka: ~ $ entrada adb shell toque 50900 & lt; / código de & gt; pre>
Haga clic en Inicio:
& lt; code class = & quot; golpe & quot; & gt; maléfico @ lepeshka: ~ $ entrada adb shell toque 350 300 & lt; / código de & gt; pre>
Haga clic para conceder acceso:
& lt; code class = & quot; golpe & quot; & gt; maléfico @ lepeshka: ~ toque $ entrada adb shell 600 1000 & lt; / código de & gt; pre>
Ok, ahora son el reenvío a través de los puertos ADB:
& lt; code class = & quot; golpe & quot; & gt; maléfico @ lepeshka: ~ $ adb tcp adelante: 5801 tcp: 5801 maléfico @ lepeshka: ~ $ adb tcp adelante: 5901 tcp: 5901 & lt; / código de & gt; pre > e ir a través del navegador de su teléfono inteligente, o su cliente VNC favorito.
Seguir trabajando como un teléfono Android convencional, sólo a través de un ordenador, es conveniente configurar la conexión WiFi, entonces podemos ir en VNC a través de WiFi, pero no todo el tiempo para mantener el teléfono conectado a la computadora (después de medidor de gas no siempre se encuentra en las cercanías de la computadora.)
Ahora, cuando la interacción con el dispositivo está plenamente establecida, se puede proceder a configurar las fotografía y la edición de datos en Internet.
Sacar una foto Periódica h6> instalar aplicaciones Tasker , créelo con el perfil temporal de las 00:00 hasta las 23:59 cada 30 minutos para llevar a cabo una acción - para hacer la foto. Opciones de disparo seleccionar el lugar más adecuado para el teléfono y el contador. Tengo esta macro con el flash obligatorio.
Eso es cierto, en realidad, puse mi teléfono (vista superior):
Caja de cartón atada con una cuerda a la barra, que es el hogar de un teléfono inteligente, el embalaje de los huevos allí para reparar su teléfono inteligente en una posición vertical. Entonces el diseño más refinado con cinta adhesiva y cartón para el flash no se anda directamente en la cara, le da una mirada seria, la prevención de reconocimiento. Por encima de todo la tapa cerrada para el interior estaba oscuro, o en la luz ambiental brillante no siempre es función de enfoque automático correctas.
En la configuración del smartphone en el revelador medios definitivamente debe poner una marca de verificación al smartphone no dormirse en la carga conectada, y luego en algún momento se detiene a fotografiar y sólo si continúa molestar.
para difundir en Internet h6> para mover las imágenes capturadas de la contrarrevolución en la Internet, he utilizado la primera aplicación disponible - FolderSync Lite . Es capaz de sincronizar una carpeta con una carpeta en su teléfono inteligente, como Google Drive.
Por lo tanto, puedo ahora desde cualquier parte del mundo donde haya acceso a Internet, vaya a Google Drive y verifique que la caldera de gas está funcionando normalmente.
Parte 2: Detección de indicaciones h4> Así que, después de enviar la lectura del medidor en la Internet, que se interesó en la posibilidad de un reconocimiento automático de los títulos. Esto permitirá:
- para llevar a cabo un análisis estadístico del consumo de gas
- un seguimiento automático de la escasez de gas (con un aviso por e-mail o sms)
Como lenguaje de desarrollo fue seleccionado pitón, para obtener imágenes de utilizar la biblioteca OpenCV .
Aquí está el código del programa principal, que está dirigido por la corona una vez por hora:
& lt; code class = & quot; pitón & quot; & gt; import sys os importación de modelos importar getImage, sess de getImagesFromGDrive importación GDrive, createImageFromGDriveObject if __name__ == '__main__': # obtener una lista de las nuevas fotos de imágenes de disco de Google, http = getImagesFromGDrive () # procesar alternativamente en un bucle para img_info en imágenes: # imágenes descarga img = createImageFromGDriveObject (img_info, http) nombre_archivo = img_info ['title'] # look para una entrada en la base de datos de prueba: dbimage = getImage (os.path.basename ( nombre_archivo)) dbimage.img = img dbimage.download_url = img_info [& quot; downloadURL & quot;] dbimage.img_link = img_info ['webContentLink'] reemplazar ('& amp; exportación = Descargar', ''), excepto ValueError como e:. Imprimir E continuar # reconoce los dbimage.identifyDigits indicación () # Guardar los datos en la base de datos sess.commit () & lt; / código & gt; pre> Se utiliza el código de la función que voy a publicar a continuación:
-
getImagesFromGDrive code> pre> - una función que devuelve una lista de los que aún no reconocer las imágenes de Google Drive -
createImageFromGDriveObject code> pre> - función, descargue la imagen en sí misma y la convierte en un formato OpenCV -
getImage code> pre> - función busca un registro de las imágenes en la base de datos, si no, entonces crearlo -
identifyDigits code> pre> - método reconociendo el testimonio de esta imagen -
http code> pre> - cliente para acceder a Google Drive, los detalles sobre el acceso a la API de lectura de disco autorizado < a href = "https://developers.google.com/drive/web/quickstart/quickstart-python"> aquí