Utilizando el IPC para la encriptación inalámbrica con Galileo Intel (4 / 10 paso)

Paso 4: Crear objetos IPC

Se crea un objeto de memoria compartida con shmget mientras que un semáforo utiliza semget. Ambos necesitan una clave, banderas y un valor de funciones específicas. Para comprobar el estado de objetos IPC que cree, puede introducir uno de los siguientes comandos de Linux para memoria compartida o semáforos, respectivamente:

gato /proc/sysvipc/shm
gato /proc/sysvipc/sem

Estos comandos son muy útiles cuando usted está tratando de determinar cuando un objeto ha sido creado o destruido. También le permite ver la clave y el identificador del objeto. Esto ayuda a depurar el script en Python ya sabes seguro que son realmente disponibles para Python usar los objetos IPC.
Teclas Todos los objetos IPC se crean utilizando una clave única. Para una prueba sencilla es aceptable usar una clave de cifrado duro pero más allá de eso es útil tener una función de generar claves para usted. SysV proporciona la función ftok para este propósito. Sus argumentos son una cadena (que representa la ubicación de un archivo) y un int (utilizado para generar las claves diferentes). ftok combina la ruta de acceso y el int (aunque sólo los 8 bits menos significativos se utilizan - y debe ser distinto de cero) para generar una clave única (la mayoría del tiempo). Todavía hay la posibilidad de llamar a ftok con diferentes argumentos y tener la misma clave. Otorgado, la posibilidad es pequeña pero una solución robusta debe manejar esta condición. Dicho esto, este proyecto pasa por alto esta condición porque pronto se actualizará para utilizar las funciones POSIX IPC - que siempre se vuelven claves únicas.
Banderas Las banderas a shmget y semget controlan cómo se crea. IPC_CREAT por sí mismo va a crear el objeto si no existe o simplemente devuelve el ID del objeto actual si ya se ha hecho. OR'ing IPC_EXCL con IPC_CREAT hará la función de error si el objeto ya existe. Desde aquí podría negociar una manera de generar una nueva clave y abrir ese objeto en su lugar. Usted puede también o en los permisos de archivo - 0666 o 0660 en este código. Esto representa los permisos para el propietario, grupo y otros para este objeto. El valor 0666 permite los tres a la lectura y escritura mientras 0660 sólo permite que el propietario y el grupo de lectura/escritura.

En este código omite IPC_EXCL sobre todo porque si se olvida de destruir los objetos IPC antes de reprogramar el Galileo, persisten los viejos objetos IPC. Cuando el bosquejo nuevo funciona con IPC_EXCL verá que los objetos IPC ya han sido creados y error. Ahora te deja para destruir los objetos manualmente o reiniciar el Galileo. Dejando IPC_EXCL este problema se evita. También, puesto que los programas solos crear objetos IPC son los que está lanzando no tendrá que preocuparse de chocar con los objetos IPC de otro proceso.
Argumentos adicionales e inicialización  En SysV, un objeto de semáforo es realmente un array de semáforos. Por simplicidad, limitaremos cada objeto a un único semáforo. Esto también ayuda a hacer un poco más legible el código. El segundo argumento de semget es el número de semáforos para este objeto.

Un objeto de memoria compartida necesita saber su tamaño antes de la creación. Por lo tanto, el segundo argumento de shmget es el tamaño del segmento de memoria compartida que se creará.

La función shmat fijará el objeto de memoria compartida para el espacio de direcciones del proceso actual (es decir, el bosquejo). Esto es lo que permitirá el bosquejo a leer y escribir desde el segmento de memoria compartida como si fuese un objeto de datos creado por el bosquejo. El puntero void devuelto por shmat debe estar fundido podemos operar sobre él más adelante.

El semáforo debe tener su cuenta inicializado a un valor consistente con su interpretación en el código. Por ejemplo, un semáforo que representa la cantidad de datos es de una cola (inicialmente vacía) debe establecerse en cero después de la creación. Esto se hace con la función semctl que toma ID de semáforo, el índice dentro de la matriz semáforo (siempre 0 para este código), un comando y una Unión. La Unión contiene datos que pueden ser utilizados por ciertos comandos. Aquí solo tenemos el comando SETVAL que establece cuenta del semáforo en el int de la Unión.

Artículos Relacionados

De la gama larga, km 1,8, Arduino Arduino comunicación inalámbrica con el HC-12.

De la gama larga, km 1,8, Arduino Arduino comunicación inalámbrica con el HC-12.

En este instructable aprenderá a comunicarse entre Arduinos a larga distancia hasta 1,8 kilómetros en aire abierto.HC-12 es un módulo de comunicación inalámbrico puerto serie que es muy útil, muy potente y fácil de usar.Primero se aprende a hacer una
Hacer una red inalámbrica con un Modem Cricket

Hacer una red inalámbrica con un Modem Cricket

Hola allí y Bienvenido a mi Instructable!Quiero mostrarles cómo hacer una red inalámbrica con un modem de Cricket y un MacBook Pro.Paso 1: Conectar el módemConecte el módem y poner en marcha la aplicación banda ancha de Cricket.Conectar pulsando cone
Shutdown Timer: Ideal para baterías herramienta inalámbrica

Shutdown Timer: Ideal para baterías herramienta inalámbrica

he crecido muy frustrado en los años decepcionante "rechargability" en las baterías herramienta inalámbrica. Es demasiado fácil ser ocupado con otras tareas y sobrecargar las baterías.Ver uso de pilas para trolling motors o cortadoras de césped,
Convertir cualquier impresora en una impresora inalámbrica con una Raspberry Pi

Convertir cualquier impresora en una impresora inalámbrica con una Raspberry Pi

Una vez que has comprado una impresora inalámbrica, nunca quiero volver a los oscuros días de tener que conectar todo el tiempo. Pero buena impresoras inalámbricas son caras, y muchos routers que permiten las impresoras de red en USB que no necesaria
Eye-Fi Bluetooth puente: directa impresión inalámbrica con una Eye-Fi, Polariod Pogo y un teléfono con Android

Eye-Fi Bluetooth puente: directa impresión inalámbrica con una Eye-Fi, Polariod Pogo y un teléfono con Android

La historia detrás de este Instructable comienza con Burning Man 2011 – como un fotógrafo aficionado y un quemador de Virgen, quería a la gente de regalo con las fotos en la playa. Sin embargo, yo quería usar mi D7000 "fantasía" y no un punto y
DIY STC MCU combinada pequeña cámara inalámbrica con OV7670, módulo de transceptor inalámbrico NRF24L01, 2,8" TFT LCD (proporcionar código)

DIY STC MCU combinada pequeña cámara inalámbrica con OV7670, módulo de transceptor inalámbrico NRF24L01, 2,8" TFT LCD (proporcionar código)

porque estoy familiarizado con la exhibición de imagen BMP bajo el sistema de archivos FAT32 y la aplicación de la NRF 2módulo de transceptor inalámbrico 01 4 L. Qué ' más, tengo una cámara OV7670 en mi mano, por lo que decido hacer un proyecto que s
Birdhouse Twitter inalámbrica con energía solar

Birdhouse Twitter inalámbrica con energía solar

pajarera Twitter inalámbrica A solares.
¿Salida de auriculares para tus tortuga playa inalámbrica auriculares

¿Salida de auriculares para tus tortuga playa inalámbrica auriculares

alguna vez ha deseado dos personas podrían escuchar a los auriculares inalámbricos sin molestar a otras personas en la sala?¿Alguna vez ha deseado sólo podría poner el auricular en el sofá y escuchar un ligero par de audífonos?¡ Pues ahora puede!Paso
Nueva antena para tarjeta de red inalámbrica Sony Ericsson GC83

Nueva antena para tarjeta de red inalámbrica Sony Ericsson GC83

hacer una antena nueva para reemplazar la estoy seguro de que han roto dentro de su tarjeta. Éste no se rompa y no cuesta $30. Perdón por las cutres fotos.Paso 1: Quitar y desmontar tarjeta Tomar la tarjeta de tu laptop y quite la tarjeta SIM. Utilic
Convertir tu casco Schuberth SRC Bluetooth (o cualquier otra cosa) para cargar de forma inalámbrica.

Convertir tu casco Schuberth SRC Bluetooth (o cualquier otra cosa) para cargar de forma inalámbrica.

Finalmente decidí la bifurcación hacia fuera para un collar de fuente Bluetooth para mi casco Schuberth.Es un poco brillante de kit. Se conecta a mi teléfono móvil fácilmente. Hablará con un radio GPS o PMR. Ha construido en radio FM (no de gran cali
BRICOLAJE gafas FPV para cámara inalámbrica

BRICOLAJE gafas FPV para cámara inalámbrica

Recientemente he adquirido un UAV por lo que he estado aprendiendo cómo volar... lentamente... Hace unos días decidí volar con FPV (vista en primera persona) y se dio cuenta de que incluso con la pantalla de mi teléfono móvil con brillo completo no p
Inalámbrica Wii Nunchuk para ratón USB Stick para PC, Mac y Tablet Video Juegos

Inalámbrica Wii Nunchuk para ratón USB Stick para PC, Mac y Tablet Video Juegos

Listo para sentir como el legendario "Bruce Lee" usando Wireless Wii nunchacos una diversión kung fu PC lucha stickman juego de video conocido como Un dedo muerte Punch (OFDP). ¿Qué tal jugar Jetpack Joyride en Facebook o en tu tableta Android?
ATMEL AT89S52 + RFM70 para transmisión de datos inalámbrica!

ATMEL AT89S52 + RFM70 para transmisión de datos inalámbrica!

He conectado RFM70 un 2.4 GHz RF módulo con microcontrolador AT89S52 de ATMEL y utilizado para la comunicación inalámbrica.Microcontrolador que he utilizado:- - ATMEL AT89S52.Programador para ATMEL:- programador Universal TOPWIN.Módulo del RF:- RFM70
10 dispositivos cool para ir con su sistema de cámara de seguridad inalámbrica

10 dispositivos cool para ir con su sistema de cámara de seguridad inalámbrica

¿Desea aumentar su sistema de cámara de seguridad inalámbrica con algunos otros artilugios que ayudarán a impulsar seguridad hogar u oficina? Aquí hay un par de sugerencias poco ingeniosos que te vaya bien con su sistema de cámaras de CCTV:Paso 1: An